<?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 Re: Apply a sheet metal rule to multiple parts at once in Inventor Programming Forum</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13982313#M178993</link>
    <description>&lt;P&gt;Hello&lt;/P&gt;&lt;P&gt;This works great. But is i possible to make this work with&amp;nbsp;sub-assemblies?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Not&lt;/SPAN&gt; &lt;SPAN&gt;TypeOf&lt;/SPAN&gt; &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt; &lt;SPAN&gt;Is&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; 
	&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Use this rule in an Assy only"&lt;/SPAN&gt;)
	&lt;SPAN&gt;Exit&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;

&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oADoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;

&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPartDict&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;Dictionary&lt;/SPAN&gt;(&lt;SPAN&gt;Of&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;String&lt;/SPAN&gt;)
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSMStyle&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;SheetMetalStyle&lt;/SPAN&gt; = &lt;SPAN&gt;Nothing&lt;/SPAN&gt;

&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oADoc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOccDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt; = &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Definition&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOccDocName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;oOccDoc&lt;/SPAN&gt;.&lt;SPAN&gt;FullDocumentName&lt;/SPAN&gt;

	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Not&lt;/SPAN&gt; &lt;SPAN&gt;oOccDoc&lt;/SPAN&gt;.&lt;SPAN&gt;SubType&lt;/SPAN&gt; = &lt;SPAN&gt;"{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}"&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;Continue&lt;/SPAN&gt; &lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;'NOT SHEETMETAL&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Not&lt;/SPAN&gt; &lt;SPAN&gt;oPartDict&lt;/SPAN&gt;.&lt;SPAN&gt;ContainsKey&lt;/SPAN&gt;(&lt;SPAN&gt;oOccDocName&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt;
		&lt;SPAN&gt;oPartDict&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;oOccDocName&lt;/SPAN&gt;, &lt;SPAN&gt;oOccDocName&lt;/SPAN&gt;)
		
		&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;oOccDocName&lt;/SPAN&gt;)
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPartDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;PartDocument&lt;/SPAN&gt; = &lt;SPAN&gt;oOccDoc&lt;/SPAN&gt;
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;SheetMetalComponentDefinition&lt;/SPAN&gt; = &lt;SPAN&gt;oPartDoc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;
		
		&lt;SPAN&gt;Try&lt;/SPAN&gt;: &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;UseSheetMetalStyleThickness&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt;
		&lt;SPAN&gt;Catch&lt;/SPAN&gt; : &lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"ERROR in UseSheetMetalStyleThickness: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oPartDoc&lt;/SPAN&gt;.&lt;SPAN&gt;DisplayName&lt;/SPAN&gt;)
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
		
		&lt;SPAN&gt;Try&lt;/SPAN&gt; : &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;UseSheetMetalStyleUnfoldMethod&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt;
		&lt;SPAN&gt;Catch&lt;/SPAN&gt; : &lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"ERROR in UseSheetMetalStyleUnfoldMethod: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oPartDoc&lt;/SPAN&gt;.&lt;SPAN&gt;DisplayName&lt;/SPAN&gt;)
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
		
		&lt;SPAN&gt;Try&lt;/SPAN&gt; : &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;UseSheetMetalStyleMaterial&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt;
		&lt;SPAN&gt;Catch&lt;/SPAN&gt; : &lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"ERROR in UseSheetMetalStyleMaterial: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oPartDoc&lt;/SPAN&gt;.&lt;SPAN&gt;DisplayName&lt;/SPAN&gt;)
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
		
		&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"Active Rule: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveSheetMetalStyle&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;)
		
		&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oSMStyle&lt;/SPAN&gt; &lt;SPAN&gt;Is&lt;/SPAN&gt; &lt;SPAN&gt;Nothing&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
			&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSMStyles&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;SheetMetalStyles&lt;/SPAN&gt; = &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;SheetMetalStyles&lt;/SPAN&gt;
			&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSMStyleList&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;List&lt;/SPAN&gt;(&lt;SPAN&gt;Of&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;)
			&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt; = 1 &lt;SPAN&gt;To&lt;/SPAN&gt; &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;SheetMetalStyles&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt;
				&lt;SPAN&gt;oSMStyleList&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;SheetMetalStyles&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;i&lt;/SPAN&gt;).&lt;SPAN&gt;Name&lt;/SPAN&gt;)
			&lt;SPAN&gt;Next&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt;
			
			&lt;SPAN&gt;oSMStyleName&lt;/SPAN&gt; = &lt;SPAN&gt;InputListBox&lt;/SPAN&gt;(&lt;SPAN&gt;"Select Sheetmetal Rule"&lt;/SPAN&gt;, &lt;SPAN&gt;oSMStyleList&lt;/SPAN&gt;, &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;SheetMetalStyles&lt;/SPAN&gt;(1), &lt;SPAN&gt;Title&lt;/SPAN&gt; := &lt;SPAN&gt;"Title"&lt;/SPAN&gt;, &lt;SPAN&gt;ListName&lt;/SPAN&gt; := &lt;SPAN&gt;"List"&lt;/SPAN&gt;)
			&lt;SPAN&gt;Try&lt;/SPAN&gt;
				&lt;SPAN&gt;oSMStyle&lt;/SPAN&gt; = &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;SheetMetalStyles&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;oSMStyleName&lt;/SPAN&gt;)
			&lt;SPAN&gt;Catch&lt;/SPAN&gt;
				&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"No Style Selected, Exiting"&lt;/SPAN&gt;)
			&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
			&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;oSMStyleName&lt;/SPAN&gt;)
			
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
		
		&lt;SPAN&gt;Try&lt;/SPAN&gt;
			&lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;SheetMetalStyles&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;oSMStyleName&lt;/SPAN&gt;).&lt;SPAN&gt;Activate&lt;/SPAN&gt;
			&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"NEW Rule: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveSheetMetalStyle&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;)
		&lt;SPAN&gt;Catch&lt;/SPAN&gt; :
			&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"ERROR: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oPartDoc&lt;/SPAN&gt;.&lt;SPAN&gt;DisplayName&lt;/SPAN&gt;)
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
			
		&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Not&lt;/SPAN&gt; &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;HasFlatPattern&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
			&lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Unfold&lt;/SPAN&gt;
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&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;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 19 Jan 2026 16:33:09 GMT</pubDate>
    <dc:creator>reine_den_andra</dc:creator>
    <dc:date>2026-01-19T16:33:09Z</dc:date>
    <item>
      <title>Apply a sheet metal rule to multiple parts at once</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13923040#M178311</link>
      <description>&lt;P&gt;Is there a way to apply a sheet metal rule to multiple parts at once?&lt;/P&gt;&lt;P&gt;I get 100's of STEP files that don't have a sheet metal rule on them, and therefore can't make a flat pattern.&lt;/P&gt;&lt;P&gt;What I do today is to open each part for itself, put a sheet metal rule on it, and then be able to make a flat patten on it. That takes some time....&lt;/P&gt;</description>
      <pubDate>Thu, 27 Nov 2025 17:04:18 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13923040#M178311</guid>
      <dc:creator>reine_den_andra</dc:creator>
      <dc:date>2025-11-27T17:04:18Z</dc:date>
    </item>
    <item>
      <title>Re: Apply a sheet metal rule to multiple parts at once</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13923054#M178312</link>
      <description>&lt;P&gt;Add Sheet Metal rule to ipt Template then import again.&lt;/P&gt;&lt;P&gt;You also save Sheet Metal Rules to Style Library and use it in ipt that don't have Sheet Metal Rules.&lt;/P&gt;&lt;P&gt;You do need a Rule in Style Library first.&amp;nbsp; Then write program to copy it to other file.&lt;/P&gt;</description>
      <pubDate>Thu, 27 Nov 2025 17:20:53 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13923054#M178312</guid>
      <dc:creator>hollypapp65</dc:creator>
      <dc:date>2025-11-27T17:20:53Z</dc:date>
    </item>
    <item>
      <title>Re: Apply a sheet metal rule to multiple parts at once</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13923118#M178314</link>
      <description>&lt;P&gt;Thank you for the reply. The thing is, I dont know how to do rules at all. Its pure Greek to me, and I feel stupid.&lt;/P&gt;&lt;P&gt;Can you help me with this?&lt;/P&gt;</description>
      <pubDate>Thu, 27 Nov 2025 18:40:06 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13923118#M178314</guid>
      <dc:creator>reine_den_andra</dc:creator>
      <dc:date>2025-11-27T18:40:06Z</dc:date>
    </item>
    <item>
      <title>Re: Apply a sheet metal rule to multiple parts at once</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13923152#M178315</link>
      <description>&lt;P&gt;&lt;A href="https://help.autodesk.com/view/INVNTOR/2024/ENU/?guid=GUID-47D6157C-62FF-41AD-931D-FC5A90D3CC52" target="_blank"&gt;https://help.autodesk.com/view/INVNTOR/2024/ENU/?guid=GUID-47D6157C-62FF-41AD-931D-FC5A90D3CC52&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Nov 2025 19:40:56 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13923152#M178315</guid>
      <dc:creator>hollypapp65</dc:creator>
      <dc:date>2025-11-27T19:40:56Z</dc:date>
    </item>
    <item>
      <title>Re: Apply a sheet metal rule to multiple parts at once</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13923160#M178316</link>
      <description>&lt;P&gt;Yes I know what sheet metal rules are, I have 30 of them. But I dont know how to apply a specific sheet metal rule to let´s say 20 "dead" parts at the same time.&lt;BR /&gt;Is that possible?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Nov 2025 19:56:00 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13923160#M178316</guid>
      <dc:creator>reine_den_andra</dc:creator>
      <dc:date>2025-11-27T19:56:00Z</dc:date>
    </item>
    <item>
      <title>Re: Apply a sheet metal rule to multiple parts at once</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13923324#M178318</link>
      <description>&lt;P&gt;This is something i did in the past to batch change all the sheetmetal rule for all the components in an assy.&lt;BR /&gt;The sheetmetal rules need to be in the Standard (or all the part has it as a local sheetmetal rule)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You'll select a rule and that would affect ALL the sheetmetal components.&lt;BR /&gt;&lt;BR /&gt;Give it a try and let me know if you encounter some issues&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="general"&gt;If Not TypeOf ThisApplication.ActiveDocument Is AssemblyDocument Then 
	MessageBox.Show("Use this rule in an Assy only")
	Exit Sub
End If

Dim oADoc As AssemblyDocument = ThisApplication.ActiveDocument

Dim oOcc As ComponentOccurrence
Dim oPartDict As New Dictionary(Of String, String)
Dim oSMStyle As SheetMetalStyle = Nothing

For Each oOcc In oADoc.ComponentDefinition.Occurrences
	Dim oOccDoc As Document = oOcc.Definition.Document
	Dim oOccDocName As String = oOccDoc.FullDocumentName

	If Not oOccDoc.SubType = "{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}" Then Continue For 'NOT SHEETMETAL
	If Not oPartDict.ContainsKey(oOccDocName) Then
		oPartDict.Add(oOccDocName, oOccDocName)
		
		Logger.Info(oOccDocName)
		Dim oPartDoc As PartDocument = oOccDoc
		Dim oPartCompDef As SheetMetalComponentDefinition = oPartDoc.ComponentDefinition
		
		Try: oPartCompDef.UseSheetMetalStyleThickness = True
		Catch : Logger.Info("ERROR in UseSheetMetalStyleThickness: " &amp;amp; oPartDoc.DisplayName)
		End Try
		
		Try : oPartCompDef.UseSheetMetalStyleUnfoldMethod = True
		Catch : Logger.Info("ERROR in UseSheetMetalStyleUnfoldMethod: " &amp;amp; oPartDoc.DisplayName)
		End Try
		
		Try : oPartCompDef.UseSheetMetalStyleMaterial = True
		Catch : Logger.Info("ERROR in UseSheetMetalStyleMaterial: " &amp;amp; oPartDoc.DisplayName)
		End Try
		
		Logger.Info("Active Rule: " &amp;amp; oPartCompDef.ActiveSheetMetalStyle.Name)
		
		If oSMStyle Is Nothing Then
			Dim oSMStyles As SheetMetalStyles = oPartCompDef.SheetMetalStyles
			Dim oSMStyleList As New List(Of String)
			For i = 1 To oPartCompDef.SheetMetalStyles.Count
				oSMStyleList.Add(oPartCompDef.SheetMetalStyles.Item(i).Name)
			Next i
			
			oSMStyleName = InputListBox("Select Sheetmetal Rule", oSMStyleList, oPartCompDef.SheetMetalStyles(1), Title := "Title", ListName := "List")
			Try
				oSMStyle = oPartCompDef.SheetMetalStyles.Item(oSMStyleName)
			Catch
				MessageBox.Show("No Style Selected, Exiting")
			End Try
			Logger.Info(oSMStyleName)
			
		End If
		
		Try
			oPartCompDef.SheetMetalStyles.Item(oSMStyleName).Activate
			Logger.Info("NEW Rule: " &amp;amp; oPartCompDef.ActiveSheetMetalStyle.Name)
		Catch :
			Logger.Info("ERROR: " &amp;amp; oPartDoc.DisplayName)
		End Try
			
		If Not oPartCompDef.HasFlatPattern Then
			oPartCompDef.Unfold
		End If
		
	End If
Next
&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 28 Nov 2025 01:49:04 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13923324#M178318</guid>
      <dc:creator>jnowel</dc:creator>
      <dc:date>2025-11-28T01:49:04Z</dc:date>
    </item>
    <item>
      <title>Re: Apply a sheet metal rule to multiple parts at once</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13923837#M178323</link>
      <description>&lt;P&gt;OH MY GOD !!!&amp;nbsp;You made my day 100% better. THANK YOU!&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":red_heart:"&gt;❤️&lt;/span&gt;&lt;/P&gt;&lt;P&gt;This is as close as you can get to what I mean. Absolutely incredible!&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":grinning_face:"&gt;😀&lt;/span&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;(The only thing that doesn't work is that the thickness doesn't change even though it says so when I open the detail.)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Edit:&lt;/STRONG&gt; It works perfectly. I tried an old STEP export which is a bit incorrect.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm not very good at this with rules. What do you mean by: The sheetmetal rules need to be in the Standard.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 28 Nov 2025 11:28:04 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13923837#M178323</guid>
      <dc:creator>reine_den_andra</dc:creator>
      <dc:date>2025-11-28T11:28:04Z</dc:date>
    </item>
    <item>
      <title>Re: Apply a sheet metal rule to multiple parts at once</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13923943#M178324</link>
      <description>&lt;P&gt;I may have worded it poorly.&lt;BR /&gt;What I meant is that the SheetMetal Rule be saved in the Library (so every sheetmetal part can access that rule)&lt;BR /&gt;&lt;BR /&gt;You can do that by "Save to Library", is still haven't.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jnowel_1-1764332074475.png" style="width: 400px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1600134i52CEA794FF29E343/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jnowel_1-1764332074475.png" alt="jnowel_1-1764332074475.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;I was (incorrectly) thinking it is the same as "Add to Standard" option when creating new Local style like in the drawing environment.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;The iLogic rule above assumes that all sheetmetal parts has access to the Sheetmetal rule you want applied.&lt;BR /&gt;If the sheetmetal rule is unavailable, the iLogic rule will fail to activate/change to that chosen sheetmetal rule.&lt;BR /&gt;&lt;BR /&gt;if you can enable your iLogic Log through&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jnowel_2-1764332428421.png" style="width: 400px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1600135i6628077926FCD2E3/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jnowel_2-1764332428421.png" alt="jnowel_2-1764332428421.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You can see the logs (as i included them in the ilogic rule) and a bit of what has happened.&lt;BR /&gt;as an example of what happens when the sheetmetal rule is unavailable in one of the parts:&lt;BR /&gt;say, i selected "Steel 5mm" but this is only a local style (to the first part, "TEST copy.ipt") and only available to that part only&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jnowel_3-1764332564644.png" style="width: 400px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1600136i0FE60A49A941EFC4/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jnowel_3-1764332564644.png" alt="jnowel_3-1764332564644.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;the log will show the active rule before changing, which is "Steel 3mm" and it successfully change it to "Steel 5mm"&lt;BR /&gt;but for "TEST.ipt", it errors as it cannot change to the&amp;nbsp;"Steel 5mm" (as it is unavailable)&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jnowel_5-1764332701919.png" style="width: 400px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1600138iCCCABBBF16C95BA1/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jnowel_5-1764332701919.png" alt="jnowel_5-1764332701919.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;as opposed to say changing it to "HDPE 10mm" that is saved in the Library and accessible to all sheetmetal&lt;BR /&gt;Both "TEST copy.ipt" and "TEST.ipt" has been successfully change to the new sheetmetal rule selected&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jnowel_6-1764332908010.png" style="width: 400px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1600139i2F129BA28C365BED/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jnowel_6-1764332908010.png" alt="jnowel_6-1764332908010.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 28 Nov 2025 12:30:30 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13923943#M178324</guid>
      <dc:creator>jnowel</dc:creator>
      <dc:date>2025-11-28T12:30:30Z</dc:date>
    </item>
    <item>
      <title>Re: Apply a sheet metal rule to multiple parts at once</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13923963#M178326</link>
      <description>&lt;P&gt;You are lika a god to me! Thank you for all this. I am soo happy right now!&lt;/P&gt;&lt;P&gt;I will click "Accept Solution" here.&lt;/P&gt;</description>
      <pubDate>Fri, 28 Nov 2025 12:55:37 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13923963#M178326</guid>
      <dc:creator>reine_den_andra</dc:creator>
      <dc:date>2025-11-28T12:55:37Z</dc:date>
    </item>
    <item>
      <title>Re: Apply a sheet metal rule to multiple parts at once</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13982313#M178993</link>
      <description>&lt;P&gt;Hello&lt;/P&gt;&lt;P&gt;This works great. But is i possible to make this work with&amp;nbsp;sub-assemblies?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Not&lt;/SPAN&gt; &lt;SPAN&gt;TypeOf&lt;/SPAN&gt; &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt; &lt;SPAN&gt;Is&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; 
	&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Use this rule in an Assy only"&lt;/SPAN&gt;)
	&lt;SPAN&gt;Exit&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;

&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oADoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;

&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPartDict&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;Dictionary&lt;/SPAN&gt;(&lt;SPAN&gt;Of&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;String&lt;/SPAN&gt;)
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSMStyle&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;SheetMetalStyle&lt;/SPAN&gt; = &lt;SPAN&gt;Nothing&lt;/SPAN&gt;

&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oADoc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOccDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt; = &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Definition&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOccDocName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;oOccDoc&lt;/SPAN&gt;.&lt;SPAN&gt;FullDocumentName&lt;/SPAN&gt;

	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Not&lt;/SPAN&gt; &lt;SPAN&gt;oOccDoc&lt;/SPAN&gt;.&lt;SPAN&gt;SubType&lt;/SPAN&gt; = &lt;SPAN&gt;"{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}"&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;Continue&lt;/SPAN&gt; &lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;'NOT SHEETMETAL&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Not&lt;/SPAN&gt; &lt;SPAN&gt;oPartDict&lt;/SPAN&gt;.&lt;SPAN&gt;ContainsKey&lt;/SPAN&gt;(&lt;SPAN&gt;oOccDocName&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt;
		&lt;SPAN&gt;oPartDict&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;oOccDocName&lt;/SPAN&gt;, &lt;SPAN&gt;oOccDocName&lt;/SPAN&gt;)
		
		&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;oOccDocName&lt;/SPAN&gt;)
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPartDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;PartDocument&lt;/SPAN&gt; = &lt;SPAN&gt;oOccDoc&lt;/SPAN&gt;
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;SheetMetalComponentDefinition&lt;/SPAN&gt; = &lt;SPAN&gt;oPartDoc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;
		
		&lt;SPAN&gt;Try&lt;/SPAN&gt;: &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;UseSheetMetalStyleThickness&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt;
		&lt;SPAN&gt;Catch&lt;/SPAN&gt; : &lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"ERROR in UseSheetMetalStyleThickness: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oPartDoc&lt;/SPAN&gt;.&lt;SPAN&gt;DisplayName&lt;/SPAN&gt;)
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
		
		&lt;SPAN&gt;Try&lt;/SPAN&gt; : &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;UseSheetMetalStyleUnfoldMethod&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt;
		&lt;SPAN&gt;Catch&lt;/SPAN&gt; : &lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"ERROR in UseSheetMetalStyleUnfoldMethod: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oPartDoc&lt;/SPAN&gt;.&lt;SPAN&gt;DisplayName&lt;/SPAN&gt;)
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
		
		&lt;SPAN&gt;Try&lt;/SPAN&gt; : &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;UseSheetMetalStyleMaterial&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt;
		&lt;SPAN&gt;Catch&lt;/SPAN&gt; : &lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"ERROR in UseSheetMetalStyleMaterial: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oPartDoc&lt;/SPAN&gt;.&lt;SPAN&gt;DisplayName&lt;/SPAN&gt;)
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
		
		&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"Active Rule: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveSheetMetalStyle&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;)
		
		&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oSMStyle&lt;/SPAN&gt; &lt;SPAN&gt;Is&lt;/SPAN&gt; &lt;SPAN&gt;Nothing&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
			&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSMStyles&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;SheetMetalStyles&lt;/SPAN&gt; = &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;SheetMetalStyles&lt;/SPAN&gt;
			&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSMStyleList&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;List&lt;/SPAN&gt;(&lt;SPAN&gt;Of&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;)
			&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt; = 1 &lt;SPAN&gt;To&lt;/SPAN&gt; &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;SheetMetalStyles&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt;
				&lt;SPAN&gt;oSMStyleList&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;SheetMetalStyles&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;i&lt;/SPAN&gt;).&lt;SPAN&gt;Name&lt;/SPAN&gt;)
			&lt;SPAN&gt;Next&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt;
			
			&lt;SPAN&gt;oSMStyleName&lt;/SPAN&gt; = &lt;SPAN&gt;InputListBox&lt;/SPAN&gt;(&lt;SPAN&gt;"Select Sheetmetal Rule"&lt;/SPAN&gt;, &lt;SPAN&gt;oSMStyleList&lt;/SPAN&gt;, &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;SheetMetalStyles&lt;/SPAN&gt;(1), &lt;SPAN&gt;Title&lt;/SPAN&gt; := &lt;SPAN&gt;"Title"&lt;/SPAN&gt;, &lt;SPAN&gt;ListName&lt;/SPAN&gt; := &lt;SPAN&gt;"List"&lt;/SPAN&gt;)
			&lt;SPAN&gt;Try&lt;/SPAN&gt;
				&lt;SPAN&gt;oSMStyle&lt;/SPAN&gt; = &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;SheetMetalStyles&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;oSMStyleName&lt;/SPAN&gt;)
			&lt;SPAN&gt;Catch&lt;/SPAN&gt;
				&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"No Style Selected, Exiting"&lt;/SPAN&gt;)
			&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
			&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;oSMStyleName&lt;/SPAN&gt;)
			
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
		
		&lt;SPAN&gt;Try&lt;/SPAN&gt;
			&lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;SheetMetalStyles&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;oSMStyleName&lt;/SPAN&gt;).&lt;SPAN&gt;Activate&lt;/SPAN&gt;
			&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"NEW Rule: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveSheetMetalStyle&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;)
		&lt;SPAN&gt;Catch&lt;/SPAN&gt; :
			&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"ERROR: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oPartDoc&lt;/SPAN&gt;.&lt;SPAN&gt;DisplayName&lt;/SPAN&gt;)
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
			
		&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Not&lt;/SPAN&gt; &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;HasFlatPattern&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
			&lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Unfold&lt;/SPAN&gt;
		&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&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;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 19 Jan 2026 16:33:09 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13982313#M178993</guid>
      <dc:creator>reine_den_andra</dc:creator>
      <dc:date>2026-01-19T16:33:09Z</dc:date>
    </item>
    <item>
      <title>Re: Apply a sheet metal rule to multiple parts at once</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13982329#M178995</link>
      <description>&lt;P&gt;Hi &lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/7973098"&gt;@reine_den_andra&lt;/a&gt;, see this version of&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/5851906"&gt;@jnowel&lt;/a&gt;'s example that will traverse through subassemblies.&lt;/P&gt;
&lt;P&gt;Hope that helps, Curtis&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;If&lt;/SPAN&gt; &lt;SPAN&gt;TypeOf&lt;/SPAN&gt; &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt; &lt;SPAN&gt;Is&lt;/SPAN&gt; &lt;SPAN&gt;PartDocument&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
		&lt;SPAN&gt;Call&lt;/SPAN&gt; &lt;SPAN&gt;SMRules&lt;/SPAN&gt;(&lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;)
		&lt;SPAN&gt;Exit&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
	&lt;SPAN&gt;ElseIf&lt;/SPAN&gt; &lt;SPAN&gt;TypeOf&lt;/SPAN&gt; &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt; &lt;SPAN&gt;Is&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
		&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Rule can not be used in a drawing"&lt;/SPAN&gt;)
		&lt;SPAN&gt;Exit&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;

	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oADoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOccs&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrences&lt;/SPAN&gt; = &lt;SPAN&gt;oADoc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;

	&lt;SPAN&gt;Call&lt;/SPAN&gt; &lt;SPAN&gt;TraverseAssembly&lt;/SPAN&gt;(&lt;SPAN&gt;oOccs&lt;/SPAN&gt;)

&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;

&lt;SPAN&gt;Function&lt;/SPAN&gt; &lt;SPAN&gt;TraverseAssembly&lt;/SPAN&gt;(&lt;SPAN&gt;oOccs&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrences&lt;/SPAN&gt;)

&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPartDict&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;Dictionary&lt;/SPAN&gt;(&lt;SPAN&gt;Of&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;String&lt;/SPAN&gt;)
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;
&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oOccs&lt;/SPAN&gt;

	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Suppressed&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;Continue&lt;/SPAN&gt; &lt;SPAN&gt;For&lt;/SPAN&gt;

	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOccDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt; = &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Definition&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oOccDocName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;oOccDoc&lt;/SPAN&gt;.&lt;SPAN&gt;FullDocumentName&lt;/SPAN&gt;

	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;DefinitionDocumentType&lt;/SPAN&gt; = &lt;SPAN&gt;DocumentTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kAssemblyDocumentObject&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
	&lt;SPAN&gt;'step into subassembly&lt;/SPAN&gt;
	&lt;SPAN&gt;Call&lt;/SPAN&gt; &lt;SPAN&gt;TraverseAssembly&lt;/SPAN&gt;(&lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;SubOccurrences&lt;/SPAN&gt;)
	&lt;SPAN&gt;Else&lt;/SPAN&gt; &lt;SPAN&gt;'process parts&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Not&lt;/SPAN&gt; &lt;SPAN&gt;oOccDoc&lt;/SPAN&gt;.&lt;SPAN&gt;SubType&lt;/SPAN&gt; = &lt;SPAN&gt;"{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}"&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;Continue&lt;/SPAN&gt; &lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;'NOT SHEETMETAL&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Not&lt;/SPAN&gt; &lt;SPAN&gt;oPartDict&lt;/SPAN&gt;.&lt;SPAN&gt;ContainsKey&lt;/SPAN&gt;(&lt;SPAN&gt;oOccDocName&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt; &lt;SPAN&gt;oPartDict&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;oOccDocName&lt;/SPAN&gt;, &lt;SPAN&gt;oOccDocName&lt;/SPAN&gt;)

	&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;oOccDocName&lt;/SPAN&gt;)
	&lt;SPAN&gt;Call&lt;/SPAN&gt; &lt;SPAN&gt;SMRules&lt;/SPAN&gt;(&lt;SPAN&gt;oOccDoc&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;End&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt;

&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;SMRules&lt;/SPAN&gt;(&lt;SPAN&gt;oOccDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;PartDocument&lt;/SPAN&gt;)

&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSMStyle&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;SheetMetalStyle&lt;/SPAN&gt; = &lt;SPAN&gt;Nothing&lt;/SPAN&gt;

&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPartDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;PartDocument&lt;/SPAN&gt; = &lt;SPAN&gt;oOccDoc&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;SheetMetalComponentDefinition&lt;/SPAN&gt; = &lt;SPAN&gt;oPartDoc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;

&lt;SPAN&gt;Try&lt;/SPAN&gt; : &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;UseSheetMetalStyleThickness&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt;
&lt;SPAN&gt;Catch&lt;/SPAN&gt; : &lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"ERROR in UseSheetMetalStyleThickness: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oPartDoc&lt;/SPAN&gt;.&lt;SPAN&gt;DisplayName&lt;/SPAN&gt;)
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;

&lt;SPAN&gt;Try&lt;/SPAN&gt; : &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;UseSheetMetalStyleUnfoldMethod&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt;
&lt;SPAN&gt;Catch&lt;/SPAN&gt; : &lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"ERROR in UseSheetMetalStyleUnfoldMethod: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oPartDoc&lt;/SPAN&gt;.&lt;SPAN&gt;DisplayName&lt;/SPAN&gt;)
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;

&lt;SPAN&gt;Try&lt;/SPAN&gt; : &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;UseSheetMetalStyleMaterial&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt;
&lt;SPAN&gt;Catch&lt;/SPAN&gt; : &lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"ERROR in UseSheetMetalStyleMaterial: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oPartDoc&lt;/SPAN&gt;.&lt;SPAN&gt;DisplayName&lt;/SPAN&gt;)
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;

&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"Active Rule: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveSheetMetalStyle&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;)

&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oSMStyle&lt;/SPAN&gt; &lt;SPAN&gt;Is&lt;/SPAN&gt; &lt;SPAN&gt;Nothing&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSMStyles&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;SheetMetalStyles&lt;/SPAN&gt; = &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;SheetMetalStyles&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSMStyleList&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;List&lt;/SPAN&gt;(&lt;SPAN&gt;Of&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;)
&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt; = 1 &lt;SPAN&gt;To&lt;/SPAN&gt; &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;SheetMetalStyles&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt;
	&lt;SPAN&gt;oSMStyleList&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;SheetMetalStyles&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;i&lt;/SPAN&gt;).&lt;SPAN&gt;Name&lt;/SPAN&gt;)
&lt;SPAN&gt;Next&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt;

&lt;SPAN&gt;oSMStyleName&lt;/SPAN&gt; = &lt;SPAN&gt;InputListBox&lt;/SPAN&gt;(&lt;SPAN&gt;"Select Sheetmetal Rule"&lt;/SPAN&gt;, &lt;SPAN&gt;oSMStyleList&lt;/SPAN&gt;, &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;SheetMetalStyles&lt;/SPAN&gt;(1), &lt;SPAN&gt;Title&lt;/SPAN&gt; := &lt;SPAN&gt;"Title"&lt;/SPAN&gt;, &lt;SPAN&gt;ListName&lt;/SPAN&gt; := &lt;SPAN&gt;"List"&lt;/SPAN&gt;)
&lt;SPAN&gt;Try&lt;/SPAN&gt;
	&lt;SPAN&gt;oSMStyle&lt;/SPAN&gt; = &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;SheetMetalStyles&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;oSMStyleName&lt;/SPAN&gt;)
&lt;SPAN&gt;Catch&lt;/SPAN&gt;
	&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"No Style Selected, Exiting"&lt;/SPAN&gt;)
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;oSMStyleName&lt;/SPAN&gt;)

&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;

&lt;SPAN&gt;Try&lt;/SPAN&gt;
	&lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;SheetMetalStyles&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;oSMStyleName&lt;/SPAN&gt;).&lt;SPAN&gt;Activate&lt;/SPAN&gt;
	&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"NEW Rule: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveSheetMetalStyle&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;)
&lt;SPAN&gt;Catch&lt;/SPAN&gt; :
	&lt;SPAN&gt;Logger&lt;/SPAN&gt;.&lt;SPAN&gt;Info&lt;/SPAN&gt;(&lt;SPAN&gt;"ERROR: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oPartDoc&lt;/SPAN&gt;.&lt;SPAN&gt;DisplayName&lt;/SPAN&gt;)
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;

&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Not&lt;/SPAN&gt; &lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;HasFlatPattern&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
&lt;SPAN&gt;oPartCompDef&lt;/SPAN&gt;.&lt;SPAN&gt;Unfold&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;

&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 19 Jan 2026 16:58:34 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13982329#M178995</guid>
      <dc:creator>Curtis_Waguespack</dc:creator>
      <dc:date>2026-01-19T16:58:34Z</dc:date>
    </item>
    <item>
      <title>Re: Apply a sheet metal rule to multiple parts at once</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13982398#M178996</link>
      <description>&lt;P&gt;Thank you for reply!&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":grinning_face:"&gt;😀&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I will try this tomorrow at work. (Sweden 18:50 a clock)&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":beaming_face_with_smiling_eyes:"&gt;😁&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 19 Jan 2026 17:50:33 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13982398#M178996</guid>
      <dc:creator>reine_den_andra</dc:creator>
      <dc:date>2026-01-19T17:50:33Z</dc:date>
    </item>
    <item>
      <title>Re: Apply a sheet metal rule to multiple parts at once</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13982948#M178998</link>
      <description>&lt;P&gt;Hi!&lt;/P&gt;&lt;P&gt;I have tested this now.&amp;nbsp;It's a bit strange. The box about which sheet metal rule you want opens up for each detail. In this case, 50 times in an assembly with subassemblies and parts &lt;span class="lia-unicode-emoji" title=":beaming_face_with_smiling_eyes:"&gt;😁&lt;/span&gt;.&lt;/P&gt;&lt;P&gt;Even if the SAME part is in multiple places.&lt;BR /&gt;In a perfect world, I would wish that the first code I posted,&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/5851906"&gt;@jnowel&lt;/a&gt;´s could take subassemblies.&lt;/P&gt;</description>
      <pubDate>Tue, 20 Jan 2026 07:39:07 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13982948#M178998</guid>
      <dc:creator>reine_den_andra</dc:creator>
      <dc:date>2026-01-20T07:39:07Z</dc:date>
    </item>
    <item>
      <title>Re: Apply a sheet metal rule to multiple parts at once</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13983039#M179001</link>
      <description>&lt;P&gt;hmm. I think it might be better to just run thru all the referenced documents instead of relying on the component occurrence like in the original code.&lt;/P&gt;&lt;P&gt;Try the one below.&lt;/P&gt;&lt;LI-CODE lang="general"&gt;If Not TypeOf ThisApplication.ActiveDocument Is AssemblyDocument Then 
	MessageBox.Show("Use this rule in an Assy only")
	Exit Sub
End If

Dim oADoc As AssemblyDocument = ThisApplication.ActiveDocument
Dim oOcc As ComponentOccurrence
Dim oSMStyle As SheetMetalStyle = Nothing

For Each oRefDoc As Document In oADoc.AllReferencedDocuments

	If Not oRefDoc.SubType = "{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}" Then Continue For 'NOT SHEETMETAL
	
	Dim oPartDoc As PartDocument = oRefDoc
	Dim oPartCompDef As SheetMetalComponentDefinition = oPartDoc.ComponentDefinition
	
	If oSMStyle Is Nothing Then
		Dim oSMStyles As SheetMetalStyles = oPartCompDef.SheetMetalStyles
		Dim oSMStyleList As New List(Of String)
		For i = 1 To oPartCompDef.SheetMetalStyles.Count
			oSMStyleList.Add(oPartCompDef.SheetMetalStyles.Item(i).Name)
		Next i
		
		oSMStyleName = InputListBox("Select Sheetmetal Rule", oSMStyleList, oPartCompDef.SheetMetalStyles(1), Title := "Title", ListName := "List")
		Try
			oSMStyle = oPartCompDef.SheetMetalStyles.Item(oSMStyleName)
		Catch
			MessageBox.Show("No Style Selected, Exiting")
		End Try
		Logger.Info(vbLf &amp;amp; "Selected Sheetmetal Style: " &amp;amp; oSMStyleName &amp;amp; vbLf)
		
	End If
	
	Logger.Info(oRefDoc.DisplayName)
	
	Try: oPartCompDef.UseSheetMetalStyleThickness = True
	Catch : Logger.Info("     ERROR in UseSheetMetalStyleThickness: " &amp;amp; oPartDoc.DisplayName)
	End Try
	
	Try : oPartCompDef.UseSheetMetalStyleUnfoldMethod = True
	Catch : Logger.Info("    ERROR in UseSheetMetalStyleUnfoldMethod: " &amp;amp; oPartDoc.DisplayName)
	End Try
	
	Try : oPartCompDef.UseSheetMetalStyleMaterial = True
	Catch : Logger.Info("    ERROR in UseSheetMetalStyleMaterial: " &amp;amp; oPartDoc.DisplayName)
	End Try
	
	Logger.Info("     Active Rule: " &amp;amp; oPartCompDef.ActiveSheetMetalStyle.Name)
		
	Try
		oPartCompDef.SheetMetalStyles.Item(oSMStyleName).Activate
		Logger.Info("     NEW Rule: " &amp;amp; oPartCompDef.ActiveSheetMetalStyle.Name)
	Catch :
		Logger.Info("     ERROR: SM Style Missing/Not Applied")
	End Try
		
	If Not oPartCompDef.HasFlatPattern Then
		oPartCompDef.Unfold
	End If
	

Next&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(I also changed the logger info so it makes it easier to check the issues)&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jnowel_1-1768901514560.png" style="width: 400px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1611673i5B436018451B39AB/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jnowel_1-1768901514560.png" alt="jnowel_1-1768901514560.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 20 Jan 2026 09:32:44 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13983039#M179001</guid>
      <dc:creator>jnowel</dc:creator>
      <dc:date>2026-01-20T09:32:44Z</dc:date>
    </item>
    <item>
      <title>Re: Apply a sheet metal rule to multiple parts at once</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13983135#M179003</link>
      <description>&lt;P&gt;Oh my god!&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":grinning_face:"&gt;😀&lt;/span&gt;&lt;span class="lia-unicode-emoji" title=":grinning_face:"&gt;😀&lt;/span&gt;&lt;span class="lia-unicode-emoji" title=":grinning_face:"&gt;😀&lt;/span&gt;&lt;BR /&gt;You're absolutely amazing at this. This is so good I feel guilty.&lt;BR /&gt;How can I thank you?&lt;/P&gt;</description>
      <pubDate>Tue, 20 Jan 2026 11:11:47 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13983135#M179003</guid>
      <dc:creator>reine_den_andra</dc:creator>
      <dc:date>2026-01-20T11:11:47Z</dc:date>
    </item>
    <item>
      <title>Re: Apply a sheet metal rule to multiple parts at once</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13983364#M179009</link>
      <description>&lt;P&gt;all good. I'm still also learning as well here in the forums.&lt;span class="lia-unicode-emoji" title=":beaming_face_with_smiling_eyes:"&gt;😁&lt;/span&gt;&lt;BR /&gt;seeing other people's solutions give me ideas and perspective; and&amp;nbsp;solving problems also help me practice&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 20 Jan 2026 14:34:49 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/apply-a-sheet-metal-rule-to-multiple-parts-at-once/m-p/13983364#M179009</guid>
      <dc:creator>jnowel</dc:creator>
      <dc:date>2026-01-20T14:34:49Z</dc:date>
    </item>
  </channel>
</rss>

