<?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 Drawing creation for each Part in Inventor Programming Forum</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-forum/drawing-creation-for-each-part/m-p/13401142#M1064</link>
    <description>&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to create two views for each part in this code but i dont know how to use document as a component occurences&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;Dim&lt;/SPAN&gt; &lt;SPAN&gt;modelReference&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;

	&lt;SPAN&gt;CreateSheet&lt;/SPAN&gt;()
	
	&lt;SPAN&gt;ShowPanelParts&lt;/SPAN&gt;(&lt;SPAN&gt;modelReference&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;CreateSheet&lt;/SPAN&gt;
	&lt;SPAN&gt;' Set the path to the template file&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;templatePath&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;"C:\_VaultPro\Templates\MKT DESIGN TEMPLATE.dwg"&lt;/SPAN&gt;

	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;Documents&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;DocumentTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kDrawingDocumentObject&lt;/SPAN&gt;, &lt;SPAN&gt;templatePath&lt;/SPAN&gt;)

	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSheet&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Sheet&lt;/SPAN&gt; = &lt;SPAN&gt;oDoc&lt;/SPAN&gt;.&lt;SPAN&gt;Sheets&lt;/SPAN&gt;(1)


	&lt;SPAN&gt;' Display message&lt;/SPAN&gt;
	&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Drawing created successfully from the template!"&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;ShowPanelParts&lt;/SPAN&gt;(&lt;SPAN&gt;modelReference&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt;)

    &lt;SPAN&gt;' Check if the document is an assembly&lt;/SPAN&gt;
    &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;modelReference&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentType&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;' Get the assembly document&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oAsmDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&lt;/SPAN&gt; = &lt;SPAN&gt;modelReference&lt;/SPAN&gt;

        &lt;SPAN&gt;' Create a collection to store unique part names (without "LEFT" or "RIGHT")&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;uniqueParts&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;Collection&lt;/SPAN&gt;()

        &lt;SPAN&gt;' Loop through all the components in the assembly&lt;/SPAN&gt;
        &lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oComp&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oAsmDoc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;
            &lt;SPAN&gt;' Skip suppressed parts&lt;/SPAN&gt;
            &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Suppressed&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
                &lt;SPAN&gt;' Check if the component name contains "PANEL" (case-sensitive, all uppercase)&lt;/SPAN&gt;
                &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;InStr&lt;/SPAN&gt;(&lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;, &lt;SPAN&gt;"PANEL"&lt;/SPAN&gt;) &amp;gt; 0 &lt;SPAN&gt;Then&lt;/SPAN&gt;
                    &lt;SPAN&gt;' Remove "LEFT" and "RIGHT" from the name to treat them as one part&lt;/SPAN&gt;
                    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;partName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;.&lt;SPAN&gt;ToUpper&lt;/SPAN&gt;()

                    &lt;SPAN&gt;' Remove "LEFT" or "RIGHT" from the name&lt;/SPAN&gt;
                    &lt;SPAN&gt;partName&lt;/SPAN&gt; = &lt;SPAN&gt;Replace&lt;/SPAN&gt;(&lt;SPAN&gt;partName&lt;/SPAN&gt;, &lt;SPAN&gt;" LEFT"&lt;/SPAN&gt;, &lt;SPAN&gt;""&lt;/SPAN&gt;)
                    &lt;SPAN&gt;partName&lt;/SPAN&gt; = &lt;SPAN&gt;Replace&lt;/SPAN&gt;(&lt;SPAN&gt;partName&lt;/SPAN&gt;, &lt;SPAN&gt;" RIGHT"&lt;/SPAN&gt;, &lt;SPAN&gt;""&lt;/SPAN&gt;)

                    &lt;SPAN&gt;' Check if the part name already exists in the unique parts collection&lt;/SPAN&gt;
                    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;isDuplicate&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt;
                    &lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;uniquePart&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;uniqueParts&lt;/SPAN&gt;
                        &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;uniquePart&lt;/SPAN&gt; = &lt;SPAN&gt;partName&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
                            &lt;SPAN&gt;isDuplicate&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt;
                            &lt;SPAN&gt;Exit&lt;/SPAN&gt; &lt;SPAN&gt;For&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;' If it's not a duplicate, add it to the collection and show the message&lt;/SPAN&gt;
                    &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Not&lt;/SPAN&gt; &lt;SPAN&gt;isDuplicate&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
                        &lt;SPAN&gt;uniqueParts&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;partName&lt;/SPAN&gt;)
&lt;SPAN&gt;'						CreateViews(oComp)&lt;/SPAN&gt;
                        &lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Found part: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;)
						&lt;SPAN&gt;CreateViews&lt;/SPAN&gt;(&lt;SPAN&gt;oComp&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;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
        &lt;SPAN&gt;Next&lt;/SPAN&gt;
    &lt;SPAN&gt;Else&lt;/SPAN&gt;
        &lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"The active document is not an assembly."&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;SPAN&gt;'*** Define Scale&lt;/SPAN&gt;
&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;CreateViews&lt;/SPAN&gt;(&lt;SPAN&gt;oComp&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;)
	&lt;SPAN&gt;' Scale for the views&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;scale&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = 1 / 3

    &lt;SPAN&gt;' Get Active Drawing Sheet&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&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;oSheet&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Sheet&lt;/SPAN&gt; = &lt;SPAN&gt;oDoc&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveSheet&lt;/SPAN&gt;
    &lt;SPAN&gt;DeleteAllViews&lt;/SPAN&gt;(&lt;SPAN&gt;oSheet&lt;/SPAN&gt;)

    &lt;SPAN&gt;' Define View Locations&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;sheetCenterVertical&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = (&lt;SPAN&gt;oSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Height&lt;/SPAN&gt; / 2)
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;isoViewHorizontal&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = (&lt;SPAN&gt;oSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Width&lt;/SPAN&gt; * 0.25)
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;frontViewHorizontal&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = (&lt;SPAN&gt;oSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Width&lt;/SPAN&gt; * 0.75)

    &lt;SPAN&gt;' Create Points for View Locations&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oIsoViewPoint&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Point2d&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;TransientGeometry&lt;/SPAN&gt;.&lt;SPAN&gt;CreatePoint2d&lt;/SPAN&gt;(&lt;SPAN&gt;isoViewHorizontal&lt;/SPAN&gt;, &lt;SPAN&gt;sheetCenterVertical&lt;/SPAN&gt;)
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oFrontViewPoint&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Point2d&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;TransientGeometry&lt;/SPAN&gt;.&lt;SPAN&gt;CreatePoint2d&lt;/SPAN&gt;(&lt;SPAN&gt;frontViewHorizontal&lt;/SPAN&gt;, &lt;SPAN&gt;sheetCenterVertical&lt;/SPAN&gt;)

    &lt;SPAN&gt;' Define View Orientation&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;isoViewOrientation&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ViewOrientationTypeEnum&lt;/SPAN&gt; = &lt;SPAN&gt;kIsoTopRightViewOrientation&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;frontViewOrientation&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ViewOrientationTypeEnum&lt;/SPAN&gt; = &lt;SPAN&gt;kFrontViewOrientation&lt;/SPAN&gt;

    &lt;SPAN&gt;' Define View Style&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;isoViewStyle&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingViewStyleEnum&lt;/SPAN&gt; = &lt;SPAN&gt;kShadedDrawingViewStyle&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;frontViewStyle&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingViewStyleEnum&lt;/SPAN&gt; = &lt;SPAN&gt;kHiddenLineRemovedDrawingViewStyle&lt;/SPAN&gt;

    &lt;SPAN&gt;' Create the Views for the specific panel part&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oIsoView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt; = &lt;SPAN&gt;oSheet&lt;/SPAN&gt;.&lt;SPAN&gt;DrawingViews&lt;/SPAN&gt;.&lt;SPAN&gt;AddBaseView&lt;/SPAN&gt;(&lt;SPAN&gt;oComp&lt;/SPAN&gt;, &lt;SPAN&gt;oIsoViewPoint&lt;/SPAN&gt;, &lt;SPAN&gt;scale&lt;/SPAN&gt;, &lt;SPAN&gt;isoViewOrientation&lt;/SPAN&gt;, &lt;SPAN&gt;isoViewStyle&lt;/SPAN&gt;)
    &lt;SPAN&gt;oIsoView&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" ISOMETRIC VIEW"&lt;/SPAN&gt;

    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oFrontView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt; = &lt;SPAN&gt;oSheet&lt;/SPAN&gt;.&lt;SPAN&gt;DrawingViews&lt;/SPAN&gt;.&lt;SPAN&gt;AddBaseView&lt;/SPAN&gt;(&lt;SPAN&gt;oComp&lt;/SPAN&gt;, &lt;SPAN&gt;oFrontViewPoint&lt;/SPAN&gt;, &lt;SPAN&gt;scale&lt;/SPAN&gt;, &lt;SPAN&gt;frontViewOrientation&lt;/SPAN&gt;, &lt;SPAN&gt;frontViewStyle&lt;/SPAN&gt;)
    &lt;SPAN&gt;oFrontView&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" FRONT VIEW"&lt;/SPAN&gt;

&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;

&lt;SPAN&gt;'*** Function To Delete All Views&lt;/SPAN&gt;
&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;DeleteAllViews&lt;/SPAN&gt;(&lt;SPAN&gt;oSheet&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Sheet&lt;/SPAN&gt;)
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt;
	&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oView&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oSheet&lt;/SPAN&gt;.&lt;SPAN&gt;DrawingViews&lt;/SPAN&gt;
		&lt;SPAN&gt;oView&lt;/SPAN&gt;.&lt;SPAN&gt;Delete&lt;/SPAN&gt;()
	&lt;SPAN&gt;Next&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;&lt;P&gt;Can any one help please&lt;/P&gt;</description>
    <pubDate>Tue, 01 Apr 2025 06:15:07 GMT</pubDate>
    <dc:creator>richie_tony007</dc:creator>
    <dc:date>2025-04-01T06:15:07Z</dc:date>
    <item>
      <title>Drawing creation for each Part</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/drawing-creation-for-each-part/m-p/13401142#M1064</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to create two views for each part in this code but i dont know how to use document as a component occurences&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;Dim&lt;/SPAN&gt; &lt;SPAN&gt;modelReference&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;

	&lt;SPAN&gt;CreateSheet&lt;/SPAN&gt;()
	
	&lt;SPAN&gt;ShowPanelParts&lt;/SPAN&gt;(&lt;SPAN&gt;modelReference&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;CreateSheet&lt;/SPAN&gt;
	&lt;SPAN&gt;' Set the path to the template file&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;templatePath&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;"C:\_VaultPro\Templates\MKT DESIGN TEMPLATE.dwg"&lt;/SPAN&gt;

	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;Documents&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;DocumentTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kDrawingDocumentObject&lt;/SPAN&gt;, &lt;SPAN&gt;templatePath&lt;/SPAN&gt;)

	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSheet&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Sheet&lt;/SPAN&gt; = &lt;SPAN&gt;oDoc&lt;/SPAN&gt;.&lt;SPAN&gt;Sheets&lt;/SPAN&gt;(1)


	&lt;SPAN&gt;' Display message&lt;/SPAN&gt;
	&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Drawing created successfully from the template!"&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;ShowPanelParts&lt;/SPAN&gt;(&lt;SPAN&gt;modelReference&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt;)

    &lt;SPAN&gt;' Check if the document is an assembly&lt;/SPAN&gt;
    &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;modelReference&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentType&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;' Get the assembly document&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oAsmDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&lt;/SPAN&gt; = &lt;SPAN&gt;modelReference&lt;/SPAN&gt;

        &lt;SPAN&gt;' Create a collection to store unique part names (without "LEFT" or "RIGHT")&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;uniqueParts&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;Collection&lt;/SPAN&gt;()

        &lt;SPAN&gt;' Loop through all the components in the assembly&lt;/SPAN&gt;
        &lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oComp&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oAsmDoc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;
            &lt;SPAN&gt;' Skip suppressed parts&lt;/SPAN&gt;
            &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Suppressed&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
                &lt;SPAN&gt;' Check if the component name contains "PANEL" (case-sensitive, all uppercase)&lt;/SPAN&gt;
                &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;InStr&lt;/SPAN&gt;(&lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;, &lt;SPAN&gt;"PANEL"&lt;/SPAN&gt;) &amp;gt; 0 &lt;SPAN&gt;Then&lt;/SPAN&gt;
                    &lt;SPAN&gt;' Remove "LEFT" and "RIGHT" from the name to treat them as one part&lt;/SPAN&gt;
                    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;partName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;.&lt;SPAN&gt;ToUpper&lt;/SPAN&gt;()

                    &lt;SPAN&gt;' Remove "LEFT" or "RIGHT" from the name&lt;/SPAN&gt;
                    &lt;SPAN&gt;partName&lt;/SPAN&gt; = &lt;SPAN&gt;Replace&lt;/SPAN&gt;(&lt;SPAN&gt;partName&lt;/SPAN&gt;, &lt;SPAN&gt;" LEFT"&lt;/SPAN&gt;, &lt;SPAN&gt;""&lt;/SPAN&gt;)
                    &lt;SPAN&gt;partName&lt;/SPAN&gt; = &lt;SPAN&gt;Replace&lt;/SPAN&gt;(&lt;SPAN&gt;partName&lt;/SPAN&gt;, &lt;SPAN&gt;" RIGHT"&lt;/SPAN&gt;, &lt;SPAN&gt;""&lt;/SPAN&gt;)

                    &lt;SPAN&gt;' Check if the part name already exists in the unique parts collection&lt;/SPAN&gt;
                    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;isDuplicate&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt;
                    &lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;uniquePart&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;uniqueParts&lt;/SPAN&gt;
                        &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;uniquePart&lt;/SPAN&gt; = &lt;SPAN&gt;partName&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
                            &lt;SPAN&gt;isDuplicate&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt;
                            &lt;SPAN&gt;Exit&lt;/SPAN&gt; &lt;SPAN&gt;For&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;' If it's not a duplicate, add it to the collection and show the message&lt;/SPAN&gt;
                    &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Not&lt;/SPAN&gt; &lt;SPAN&gt;isDuplicate&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
                        &lt;SPAN&gt;uniqueParts&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;partName&lt;/SPAN&gt;)
&lt;SPAN&gt;'						CreateViews(oComp)&lt;/SPAN&gt;
                        &lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Found part: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;)
						&lt;SPAN&gt;CreateViews&lt;/SPAN&gt;(&lt;SPAN&gt;oComp&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;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
        &lt;SPAN&gt;Next&lt;/SPAN&gt;
    &lt;SPAN&gt;Else&lt;/SPAN&gt;
        &lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"The active document is not an assembly."&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;SPAN&gt;'*** Define Scale&lt;/SPAN&gt;
&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;CreateViews&lt;/SPAN&gt;(&lt;SPAN&gt;oComp&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;)
	&lt;SPAN&gt;' Scale for the views&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;scale&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = 1 / 3

    &lt;SPAN&gt;' Get Active Drawing Sheet&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&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;oSheet&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Sheet&lt;/SPAN&gt; = &lt;SPAN&gt;oDoc&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveSheet&lt;/SPAN&gt;
    &lt;SPAN&gt;DeleteAllViews&lt;/SPAN&gt;(&lt;SPAN&gt;oSheet&lt;/SPAN&gt;)

    &lt;SPAN&gt;' Define View Locations&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;sheetCenterVertical&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = (&lt;SPAN&gt;oSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Height&lt;/SPAN&gt; / 2)
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;isoViewHorizontal&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = (&lt;SPAN&gt;oSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Width&lt;/SPAN&gt; * 0.25)
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;frontViewHorizontal&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = (&lt;SPAN&gt;oSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Width&lt;/SPAN&gt; * 0.75)

    &lt;SPAN&gt;' Create Points for View Locations&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oIsoViewPoint&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Point2d&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;TransientGeometry&lt;/SPAN&gt;.&lt;SPAN&gt;CreatePoint2d&lt;/SPAN&gt;(&lt;SPAN&gt;isoViewHorizontal&lt;/SPAN&gt;, &lt;SPAN&gt;sheetCenterVertical&lt;/SPAN&gt;)
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oFrontViewPoint&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Point2d&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;TransientGeometry&lt;/SPAN&gt;.&lt;SPAN&gt;CreatePoint2d&lt;/SPAN&gt;(&lt;SPAN&gt;frontViewHorizontal&lt;/SPAN&gt;, &lt;SPAN&gt;sheetCenterVertical&lt;/SPAN&gt;)

    &lt;SPAN&gt;' Define View Orientation&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;isoViewOrientation&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ViewOrientationTypeEnum&lt;/SPAN&gt; = &lt;SPAN&gt;kIsoTopRightViewOrientation&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;frontViewOrientation&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ViewOrientationTypeEnum&lt;/SPAN&gt; = &lt;SPAN&gt;kFrontViewOrientation&lt;/SPAN&gt;

    &lt;SPAN&gt;' Define View Style&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;isoViewStyle&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingViewStyleEnum&lt;/SPAN&gt; = &lt;SPAN&gt;kShadedDrawingViewStyle&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;frontViewStyle&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingViewStyleEnum&lt;/SPAN&gt; = &lt;SPAN&gt;kHiddenLineRemovedDrawingViewStyle&lt;/SPAN&gt;

    &lt;SPAN&gt;' Create the Views for the specific panel part&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oIsoView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt; = &lt;SPAN&gt;oSheet&lt;/SPAN&gt;.&lt;SPAN&gt;DrawingViews&lt;/SPAN&gt;.&lt;SPAN&gt;AddBaseView&lt;/SPAN&gt;(&lt;SPAN&gt;oComp&lt;/SPAN&gt;, &lt;SPAN&gt;oIsoViewPoint&lt;/SPAN&gt;, &lt;SPAN&gt;scale&lt;/SPAN&gt;, &lt;SPAN&gt;isoViewOrientation&lt;/SPAN&gt;, &lt;SPAN&gt;isoViewStyle&lt;/SPAN&gt;)
    &lt;SPAN&gt;oIsoView&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" ISOMETRIC VIEW"&lt;/SPAN&gt;

    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oFrontView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt; = &lt;SPAN&gt;oSheet&lt;/SPAN&gt;.&lt;SPAN&gt;DrawingViews&lt;/SPAN&gt;.&lt;SPAN&gt;AddBaseView&lt;/SPAN&gt;(&lt;SPAN&gt;oComp&lt;/SPAN&gt;, &lt;SPAN&gt;oFrontViewPoint&lt;/SPAN&gt;, &lt;SPAN&gt;scale&lt;/SPAN&gt;, &lt;SPAN&gt;frontViewOrientation&lt;/SPAN&gt;, &lt;SPAN&gt;frontViewStyle&lt;/SPAN&gt;)
    &lt;SPAN&gt;oFrontView&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" FRONT VIEW"&lt;/SPAN&gt;

&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;

&lt;SPAN&gt;'*** Function To Delete All Views&lt;/SPAN&gt;
&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;DeleteAllViews&lt;/SPAN&gt;(&lt;SPAN&gt;oSheet&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Sheet&lt;/SPAN&gt;)
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt;
	&lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oView&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oSheet&lt;/SPAN&gt;.&lt;SPAN&gt;DrawingViews&lt;/SPAN&gt;
		&lt;SPAN&gt;oView&lt;/SPAN&gt;.&lt;SPAN&gt;Delete&lt;/SPAN&gt;()
	&lt;SPAN&gt;Next&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;&lt;P&gt;Can any one help please&lt;/P&gt;</description>
      <pubDate>Tue, 01 Apr 2025 06:15:07 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/drawing-creation-for-each-part/m-p/13401142#M1064</guid>
      <dc:creator>richie_tony007</dc:creator>
      <dc:date>2025-04-01T06:15:07Z</dc:date>
    </item>
    <item>
      <title>Re: Drawing creation for each Part</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/drawing-creation-for-each-part/m-p/13401215#M1065</link>
      <description>&lt;P&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;Try this^&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;LI-CODE lang="visual-basic"&gt;Sub Main
    ' Get the active document (must be an assembly)
    Dim modelReference As Document = ThisApplication.ActiveDocument
    
    ' Check if the active document is an assembly
    If modelReference.DocumentType &amp;lt;&amp;gt; DocumentTypeEnum.kAssemblyDocumentObject Then
        MessageBox.Show("The active document must be an assembly.")
        Exit Sub
    End If
    
    ' Create a new drawing
    Dim oDrawingDoc As DrawingDocument = CreateSheet()
    
    ' Check if the drawing was created successfully
    If oDrawingDoc Is Nothing Then
        MessageBox.Show("Failed to create the drawing. Rule execution aborted.")
        Exit Sub
    End If
    
    ' Pass the model and drawing to create views
    ShowPanelParts(modelReference, oDrawingDoc)
End Sub

Function CreateSheet() As DrawingDocument
    ' Specify the path to the template file
    Dim templatePath As String = "C:\_VaultPro\Templates\MKT DESIGN TEMPLATE.dwg"
    
    ' Check if the template file exists
    If Not System.IO.File.Exists(templatePath) Then
        MessageBox.Show("Error: Template file '" &amp;amp; templatePath &amp;amp; "' not found. Ensure the path is correct and the file is accessible.")
        Return Nothing
    End If
    
    ' Try to create a new drawing based on the template
    Try
        Dim oDoc As DrawingDocument = ThisApplication.Documents.Add(DocumentTypeEnum.kDrawingDocumentObject, templatePath)
        
        ' Activate the first sheet
        Dim oSheet As Sheet = oDoc.Sheets.Item(1)
        
        ' Notify about successful drawing creation
        MessageBox.Show("Drawing successfully created from the template!")
        
        ' Return the created drawing
        Return oDoc
    Catch ex As Exception
        MessageBox.Show("Error creating drawing: " &amp;amp; ex.Message)
        Return Nothing
    End Try
End Function

Sub ShowPanelParts(modelReference As Document, oDrawingDoc As DrawingDocument)
    ' Check if the document is an assembly
    If modelReference.DocumentType = DocumentTypeEnum.kAssemblyDocumentObject Then
        Dim oAsmDoc As AssemblyDocument = modelReference
        
        ' Get the active sheet of the drawing
        Dim oSheet As Sheet = oDrawingDoc.ActiveSheet
        
        ' Create a collection for unique part names
        Dim uniqueParts As New Collection
        
        ' Loop through all components in the assembly
        For Each oComp As ComponentOccurrence In oAsmDoc.ComponentDefinition.Occurrences
            If oComp.Suppressed = False Then
                ' Check if the component name contains "PANEL"
                If InStr(oComp.Name, "PANEL") &amp;gt; 0 Then
                    Dim partName As String = oComp.Name.ToUpper()
                    partName = Replace(partName, " LEFT", "")
                    partName = Replace(partName, " RIGHT", "")
                    
                    ' Check if the part is already in the collection
                    Dim isDuplicate As Boolean = False
                    For Each uniquePart As String In uniqueParts
                        If uniquePart = partName Then
                            isDuplicate = True
                            Exit For
                        End If
                    Next
                    
                    ' If the part is unique, add it and create views
                    If Not isDuplicate Then
                        uniqueParts.Add(partName)
                        CreateViews(oComp, oSheet)
                        MessageBox.Show("Found part: " &amp;amp; oComp.Name)
                    End If
                End If
            End If
        Next
    Else
        MessageBox.Show("The provided document is not an assembly.")
    End If
End Sub

Sub CreateViews(oComp As ComponentOccurrence, oSheet As Sheet)
    ' Set the scale for the views
    Dim scale As Double = 1 / 3
    
    ' Define the view locations on the sheet
    Dim sheetCenterVertical As Double = (oSheet.Height / 2)
    Dim isoViewHorizontal As Double = (oSheet.Width * 0.25)
    Dim frontViewHorizontal As Double = (oSheet.Width * 0.75)
    
    ' Create points for view placement
    Dim oIsoViewPoint As Point2d = ThisApplication.TransientGeometry.CreatePoint2d(isoViewHorizontal, sheetCenterVertical)
    Dim oFrontViewPoint As Point2d = ThisApplication.TransientGeometry.CreatePoint2d(frontViewHorizontal, sheetCenterVertical)
    
    ' Define view orientations
    Dim isoViewOrientation As ViewOrientationTypeEnum = kIsoTopRightViewOrientation
    Dim frontViewOrientation As ViewOrientationTypeEnum = kFrontViewOrientation
    
    ' Define view styles
    Dim isoViewStyle As DrawingViewStyleEnum = kShadedDrawingViewStyle
    Dim frontViewStyle As DrawingViewStyleEnum = kHiddenLineRemovedDrawingViewStyle
    
    ' Create views for the component
    Try
        Dim oIsoView As DrawingView = oSheet.DrawingViews.AddBaseView(oComp.Definition.Document, oIsoViewPoint, scale, isoViewOrientation, isoViewStyle)
        oIsoView.Name = oComp.Name &amp;amp; " ISOMETRIC VIEW"
        
        Dim oFrontView As DrawingView = oSheet.DrawingViews.AddBaseView(oComp.Definition.Document, oFrontViewPoint, scale, frontViewOrientation, frontViewStyle)
        oFrontView.Name = oComp.Name &amp;amp; " FRONT VIEW"
    Catch ex As Exception
        MessageBox.Show("Error creating views for part '" &amp;amp; oComp.Name &amp;amp; "': " &amp;amp; ex.Message)
    End Try
End Sub&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;If you want to create views for each part on a separate sheet, you will need to add the creation of a new sheet within the loop in &lt;SPAN class=""&gt;ShowPanelParts&lt;/SPAN&gt; using &lt;SPAN class=""&gt;oDrawingDoc.Sheets.Add()&lt;/SPAN&gt; and pass the new sheet to &lt;SPAN class=""&gt;CreateViews&lt;/SPAN&gt;.&lt;/DIV&gt;</description>
      <pubDate>Tue, 01 Apr 2025 07:01:29 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/drawing-creation-for-each-part/m-p/13401215#M1065</guid>
      <dc:creator>Ivan_Sinicyn</dc:creator>
      <dc:date>2025-04-01T07:01:29Z</dc:date>
    </item>
    <item>
      <title>Re: Drawing creation for each Part</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/drawing-creation-for-each-part/m-p/13401543#M1066</link>
      <description>&lt;P&gt;Thanks for your reply.&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/1777941"&gt;@Ivan_Sinicyn&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It works but the newly created sheet doesnt have a title block and the sheet sizes are different from the 1st sheet.i want the same title block and sheet sizes which i used for sheet 1&lt;/P&gt;</description>
      <pubDate>Tue, 01 Apr 2025 09:45:47 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/drawing-creation-for-each-part/m-p/13401543#M1066</guid>
      <dc:creator>richie_tony007</dc:creator>
      <dc:date>2025-04-01T09:45:47Z</dc:date>
    </item>
    <item>
      <title>Re: Drawing creation for each Part</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/drawing-creation-for-each-part/m-p/13401664#M1067</link>
      <description>&lt;P&gt;You can use the first drawing sheet as a template and delete it at the end of the operation.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;LI-CODE lang="visual-basic"&gt;Sub Main
    ' Get the active document (must be an assembly)
    Dim modelReference As Document = ThisApplication.ActiveDocument
    
    ' Check if the active document is an assembly
    If modelReference.DocumentType &amp;lt;&amp;gt; DocumentTypeEnum.kAssemblyDocumentObject Then
        MessageBox.Show("The active document must be an assembly.")
        Exit Sub
    End If
    
    ' Create a new drawing
    Dim oDrawingDoc As DrawingDocument = CreateSheet()
    
    ' Check if the drawing was created successfully
    If oDrawingDoc Is Nothing Then
        MessageBox.Show("Failed to create the drawing. Rule execution aborted.")
        Exit Sub
    End If
    
    ' Pass the model and drawing to create views
    ShowPanelParts(modelReference, oDrawingDoc)
End Sub

Function CreateSheet() As DrawingDocument
    ' Specify the path to the template file
    Dim templatePath As String = "C:\_VaultPro\Templates\MKT DESIGN TEMPLATE.dwg"
    
    ' Check if the template file exists
    If Not System.IO.File.Exists(templatePath) Then
        MessageBox.Show("Error: Template file '" &amp;amp; templatePath &amp;amp; "' not found. Ensure the path is correct and the file is accessible.")
        Return Nothing
    End If
    
    ' Try to create a new drawing based on the template
    Try
        Dim oDoc As DrawingDocument = ThisApplication.Documents.Add(DocumentTypeEnum.kDrawingDocumentObject, templatePath)
        
        ' Notify about successful drawing creation
        MessageBox.Show("Drawing successfully created from the template!")
        
        ' Return the created drawing
        Return oDoc
    Catch ex As Exception
        MessageBox.Show("Error creating drawing: " &amp;amp; ex.Message)
        Return Nothing
    End Try
End Function

Sub ShowPanelParts(modelReference As Document, oDrawingDoc As DrawingDocument)
    ' Check if the document is an assembly
    If modelReference.DocumentType = DocumentTypeEnum.kAssemblyDocumentObject Then
        Dim oAsmDoc As AssemblyDocument = modelReference
        
        ' Get the first sheet from the template to use as a base
        Dim oBaseSheet As Sheet = oDrawingDoc.Sheets.Item(1)
        
        ' Create a collection for unique part names
        Dim uniqueParts As New Collection
        
        ' Counter for sheet naming
        Dim sheetCounter As Integer = 1
        
        ' Loop through all components in the assembly
        For Each oComp As ComponentOccurrence In oAsmDoc.ComponentDefinition.Occurrences
            If oComp.Suppressed = False Then
                ' Check if the component name contains "PANEL"
                If InStr(oComp.Name, "PANEL") &amp;gt; 0 Then
                    Dim partName As String = oComp.Name.ToUpper()
                    partName = Replace(partName, " LEFT", "")
                    partName = Replace(partName, " RIGHT", "")
                    
                    ' Check if the part is already in the collection
                    Dim isDuplicate As Boolean = False
                    For Each uniquePart As String In uniqueParts
                        If uniquePart = partName Then
                            isDuplicate = True
                            Exit For
                        End If
                    Next
                    
                    ' If the part is unique, add it and create views on a copied sheet
                    If Not isDuplicate Then
                        uniqueParts.Add(partName)
                        
                        ' Copy the base sheet
                        Dim oNewSheet As Sheet = oBaseSheet.CopyTo(oDrawingDoc)
                        oNewSheet.Name = "Sheet " &amp;amp; sheetCounter &amp;amp; " - " &amp;amp; oComp.Name
                        sheetCounter = sheetCounter + 1
                        
                        ' Create views on the copied sheet
                        CreateViews(oComp, oNewSheet)
                        MessageBox.Show("Found part: " &amp;amp; oComp.Name &amp;amp; " - Views created on " &amp;amp; oNewSheet.Name)
                    End If
                End If
            End If
        Next
        
        ' Delete the original first sheet after all operations
        If oDrawingDoc.Sheets.Count &amp;gt; 1 Then
            oBaseSheet.Delete()
            ' Activate the first remaining sheet
            oDrawingDoc.Sheets.Item(1).Activate()
        End If
    Else
        MessageBox.Show("The provided document is not an assembly.")
    End If
End Sub

Sub CreateViews(oComp As ComponentOccurrence, oSheet As Sheet)
    ' Set the scale for the views
    Dim scale As Double = 1 / 3
    
    ' Define the view locations on the sheet
    Dim sheetCenterVertical As Double = (oSheet.Height / 2)
    Dim isoViewHorizontal As Double = (oSheet.Width * 0.25)
    Dim frontViewHorizontal As Double = (oSheet.Width * 0.75)
    
    ' Create points for view placement
    Dim oIsoViewPoint As Point2d = ThisApplication.TransientGeometry.CreatePoint2d(isoViewHorizontal, sheetCenterVertical)
    Dim oFrontViewPoint As Point2d = ThisApplication.TransientGeometry.CreatePoint2d(frontViewHorizontal, sheetCenterVertical)
    
    ' Define view orientations
    Dim isoViewOrientation As ViewOrientationTypeEnum = kIsoTopRightViewOrientation
    Dim frontViewOrientation As ViewOrientationTypeEnum = kFrontViewOrientation
    
    ' Define view styles
    Dim isoViewStyle As DrawingViewStyleEnum = kShadedDrawingViewStyle
    Dim frontViewStyle As DrawingViewStyleEnum = kHiddenLineRemovedDrawingViewStyle
    
    ' Create views for the component
    Try
        Dim oIsoView As DrawingView = oSheet.DrawingViews.AddBaseView(oComp.Definition.Document, oIsoViewPoint, scale, isoViewOrientation, isoViewStyle)
        oIsoView.Name = oComp.Name &amp;amp; " ISOMETRIC VIEW"
        
        Dim oFrontView As DrawingView = oSheet.DrawingViews.AddBaseView(oComp.Definition.Document, oFrontViewPoint, scale, frontViewOrientation, frontViewStyle)
        oFrontView.Name = oComp.Name &amp;amp; " FRONT VIEW"
    Catch ex As Exception
        MessageBox.Show("Error creating views for part '" &amp;amp; oComp.Name &amp;amp; "': " &amp;amp; ex.Message)
    End Try
End Sub&lt;/LI-CODE&gt;</description>
      <pubDate>Tue, 01 Apr 2025 10:37:06 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/drawing-creation-for-each-part/m-p/13401664#M1067</guid>
      <dc:creator>Ivan_Sinicyn</dc:creator>
      <dc:date>2025-04-01T10:37:06Z</dc:date>
    </item>
    <item>
      <title>Re: Drawing creation for each Part</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/drawing-creation-for-each-part/m-p/13401799#M1068</link>
      <description>&lt;P&gt;If you need a ready to use Add-in without complex Coding, check ADC (Automatic Drawing Creator)&lt;BR /&gt;&lt;A href="https://bluemech.de/product/inventor-adc-automatic-drawing-creator/" target="_blank" rel="nofollow noopener noreferrer"&gt;https://bluemech.de/product/inventor-adc-automatic-drawing-creator/&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 01 Apr 2025 11:51:03 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/drawing-creation-for-each-part/m-p/13401799#M1068</guid>
      <dc:creator>BM_Ashraf</dc:creator>
      <dc:date>2025-04-01T11:51:03Z</dc:date>
    </item>
    <item>
      <title>Re: Drawing creation for each Part</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-forum/drawing-creation-for-each-part/m-p/13402519#M1069</link>
      <description>&lt;P&gt;Thanks Heaps&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/1777941"&gt;@Ivan_Sinicyn&lt;/a&gt;&amp;nbsp;That works but i have modified my code to add the iso full assembly on the first page followed by the parts list and the part drawings&lt;/P&gt;&lt;P&gt;how to add the template for partslist and keep the iso full assembly view only on the 1st sheet.&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;' Get the active document (must be an assembly)&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;modelReference&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;

&lt;SPAN&gt;' Check if the active document is an assembly&lt;/SPAN&gt;
&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;modelReference&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentType&lt;/SPAN&gt; &amp;lt;&amp;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;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"The active document must be an assembly."&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;' Create a new drawing&lt;/SPAN&gt;
&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDrawingDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt; = &lt;SPAN&gt;CreateSheet&lt;/SPAN&gt;()

&lt;SPAN&gt;' Check if the drawing was created successfully&lt;/SPAN&gt;
&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oDrawingDoc&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;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Failed to create the drawing. Rule execution aborted."&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;' Pass the model and drawing to create views and the parts list&lt;/SPAN&gt;
&lt;SPAN&gt;ShowAssemblyViews&lt;/SPAN&gt;(&lt;SPAN&gt;modelReference&lt;/SPAN&gt;, &lt;SPAN&gt;oDrawingDoc&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;CreateSheet&lt;/SPAN&gt;() &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt;
	&lt;SPAN&gt;' Specify the path to the template file&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;templatePath&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;"C:\_VaultPro\Templates\MKT DESIGN TEMPLATE.dwg"&lt;/SPAN&gt;

	&lt;SPAN&gt;' Check if the template file exists&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Not&lt;/SPAN&gt; &lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;IO&lt;/SPAN&gt;.&lt;SPAN&gt;File&lt;/SPAN&gt;.&lt;SPAN&gt;Exists&lt;/SPAN&gt;(&lt;SPAN&gt;templatePath&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;"Error: Template file '"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;templatePath&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;"' not found. Ensure the path is correct and the file is accessible."&lt;/SPAN&gt;)
		&lt;SPAN&gt;Return&lt;/SPAN&gt; &lt;SPAN&gt;Nothing&lt;/SPAN&gt;
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;

	&lt;SPAN&gt;' Try to create a new drawing based on the template&lt;/SPAN&gt;
	&lt;SPAN&gt;Try&lt;/SPAN&gt;
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;Documents&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;DocumentTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kDrawingDocumentObject&lt;/SPAN&gt;, &lt;SPAN&gt;templatePath&lt;/SPAN&gt;)

		&lt;SPAN&gt;' Activate the first sheet&lt;/SPAN&gt;
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSheet&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Sheet&lt;/SPAN&gt; = &lt;SPAN&gt;oDoc&lt;/SPAN&gt;.&lt;SPAN&gt;Sheets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(1)

		&lt;SPAN&gt;' Notify about successful drawing creation&lt;/SPAN&gt;
		&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Drawing successfully created from the template!"&lt;/SPAN&gt;)

		&lt;SPAN&gt;' Return the created drawing&lt;/SPAN&gt;
		&lt;SPAN&gt;Return&lt;/SPAN&gt; &lt;SPAN&gt;oDoc&lt;/SPAN&gt;
	&lt;SPAN&gt;Catch&lt;/SPAN&gt; &lt;SPAN&gt;ex&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Exception&lt;/SPAN&gt;
		&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Error creating drawing: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;ex&lt;/SPAN&gt;.&lt;SPAN&gt;Message&lt;/SPAN&gt;)
		&lt;SPAN&gt;Return&lt;/SPAN&gt; &lt;SPAN&gt;Nothing&lt;/SPAN&gt;
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&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;ShowAssemblyViews&lt;/SPAN&gt;(&lt;SPAN&gt;modelReference&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt;, &lt;SPAN&gt;oDrawingDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt;)
	&lt;SPAN&gt;' Check if the document is an assembly&lt;/SPAN&gt;
	&lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;modelReference&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentType&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;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oAsmDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&lt;/SPAN&gt; = &lt;SPAN&gt;modelReference&lt;/SPAN&gt;

		&lt;SPAN&gt;' Get the first sheet (to place the assembly iso view)&lt;/SPAN&gt;
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSheet&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Sheet&lt;/SPAN&gt; = &lt;SPAN&gt;oDrawingDoc&lt;/SPAN&gt;.&lt;SPAN&gt;Sheets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(1)

		&lt;SPAN&gt;' Create the isometric view of the full assembly&lt;/SPAN&gt;
		&lt;SPAN&gt;CreateAssemblyIsoView&lt;/SPAN&gt;(&lt;SPAN&gt;oAsmDoc&lt;/SPAN&gt;, &lt;SPAN&gt;oSheet&lt;/SPAN&gt;)

		&lt;SPAN&gt;' Create parts list on the second sheet&lt;/SPAN&gt;
		&lt;SPAN&gt;CreatePartsList&lt;/SPAN&gt;(&lt;SPAN&gt;oAsmDoc&lt;/SPAN&gt;, &lt;SPAN&gt;oDrawingDoc&lt;/SPAN&gt;)

		&lt;SPAN&gt;' Create unique sheets for individual parts&lt;/SPAN&gt;
		&lt;SPAN&gt;ShowPanelParts&lt;/SPAN&gt;(&lt;SPAN&gt;oAsmDoc&lt;/SPAN&gt;, &lt;SPAN&gt;oDrawingDoc&lt;/SPAN&gt;)
	&lt;SPAN&gt;Else&lt;/SPAN&gt;
		&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"The provided document is not an assembly."&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;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;CreateAssemblyIsoView&lt;/SPAN&gt;(&lt;SPAN&gt;oAsmDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&lt;/SPAN&gt;, &lt;SPAN&gt;oSheet&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Sheet&lt;/SPAN&gt;)
	&lt;SPAN&gt;' Set the scale for the assembly isometric view&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;scale&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = 1 / 25

	&lt;SPAN&gt;' Define the view location on the sheet&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;isoViewHorizontal&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = (&lt;SPAN&gt;oSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Width&lt;/SPAN&gt; * 0.25)
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;isoViewVertical&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = (&lt;SPAN&gt;oSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Height&lt;/SPAN&gt; * 0.5)

	&lt;SPAN&gt;' Create the isometric view&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oIsoViewPoint&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Point2d&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;TransientGeometry&lt;/SPAN&gt;.&lt;SPAN&gt;CreatePoint2d&lt;/SPAN&gt;(&lt;SPAN&gt;isoViewHorizontal&lt;/SPAN&gt;, &lt;SPAN&gt;isoViewVertical&lt;/SPAN&gt;)
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;isoViewOrientation&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ViewOrientationTypeEnum&lt;/SPAN&gt; = &lt;SPAN&gt;kIsoTopRightViewOrientation&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;isoViewStyle&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingViewStyleEnum&lt;/SPAN&gt; = &lt;SPAN&gt;kShadedDrawingViewStyle&lt;/SPAN&gt;

	&lt;SPAN&gt;Try&lt;/SPAN&gt;
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oIsoView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt; = &lt;SPAN&gt;oSheet&lt;/SPAN&gt;.&lt;SPAN&gt;DrawingViews&lt;/SPAN&gt;.&lt;SPAN&gt;AddBaseView&lt;/SPAN&gt;(&lt;SPAN&gt;oAsmDoc&lt;/SPAN&gt;, &lt;SPAN&gt;oIsoViewPoint&lt;/SPAN&gt;, &lt;SPAN&gt;scale&lt;/SPAN&gt;, &lt;SPAN&gt;isoViewOrientation&lt;/SPAN&gt;, &lt;SPAN&gt;isoViewStyle&lt;/SPAN&gt;)
		&lt;SPAN&gt;oIsoView&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;"ASSEMBLY ISOMETRIC VIEW"&lt;/SPAN&gt;
	&lt;SPAN&gt;Catch&lt;/SPAN&gt; &lt;SPAN&gt;ex&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Exception&lt;/SPAN&gt;
		&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Error creating assembly isometric view: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;ex&lt;/SPAN&gt;.&lt;SPAN&gt;Message&lt;/SPAN&gt;)
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&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;CreatePartsList&lt;/SPAN&gt;(&lt;SPAN&gt;oAsmDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&lt;/SPAN&gt;, &lt;SPAN&gt;oDrawingDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt;)
	&lt;SPAN&gt;Try&lt;/SPAN&gt;
		&lt;SPAN&gt;' Get the first drawing view on the first sheet (this should be the full assembly view)&lt;/SPAN&gt;
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oSheet&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Sheet&lt;/SPAN&gt; = &lt;SPAN&gt;oDrawingDoc&lt;/SPAN&gt;.&lt;SPAN&gt;Sheets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(1)
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oDrawingView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt; = &lt;SPAN&gt;oSheet&lt;/SPAN&gt;.&lt;SPAN&gt;DrawingViews&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(1)

		&lt;SPAN&gt;' Define position for the parts list (on the second sheet)&lt;/SPAN&gt;
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oNewSheet&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Sheet&lt;/SPAN&gt; = &lt;SPAN&gt;oDrawingDoc&lt;/SPAN&gt;.&lt;SPAN&gt;Sheets&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;()
		&lt;SPAN&gt;oNewSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;"Parts List"&lt;/SPAN&gt;

		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPosition&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Point2d&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;TransientGeometry&lt;/SPAN&gt;.&lt;SPAN&gt;CreatePoint2d&lt;/SPAN&gt;(10, &lt;SPAN&gt;oNewSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Height&lt;/SPAN&gt; - 10)

		&lt;SPAN&gt;' Create the parts list (BOM) using the assembly drawing view&lt;/SPAN&gt;
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPartsList&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;PartsList&lt;/SPAN&gt; = &lt;SPAN&gt;oNewSheet&lt;/SPAN&gt;.&lt;SPAN&gt;PartsLists&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;oDrawingView&lt;/SPAN&gt;, &lt;SPAN&gt;oPosition&lt;/SPAN&gt;)

		&lt;SPAN&gt;' Auto arrange and renumber parts&lt;/SPAN&gt;
		&lt;SPAN&gt;oPartsList&lt;/SPAN&gt;.&lt;SPAN&gt;Renumber&lt;/SPAN&gt;()

		&lt;SPAN&gt;' Set the parts list style (optional)&lt;/SPAN&gt;
		&lt;SPAN&gt;oPartsList&lt;/SPAN&gt;.&lt;SPAN&gt;Style&lt;/SPAN&gt; = &lt;SPAN&gt;oDrawingDoc&lt;/SPAN&gt;.&lt;SPAN&gt;StylesManager&lt;/SPAN&gt;.&lt;SPAN&gt;PartsListStyles&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(&lt;SPAN&gt;"Default"&lt;/SPAN&gt;)

		&lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Parts list successfully created on the second sheet."&lt;/SPAN&gt;)
	&lt;SPAN&gt;Catch&lt;/SPAN&gt; &lt;SPAN&gt;ex&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Exception&lt;/SPAN&gt;
		&lt;SPAN&gt;'        MessageBox.Show("Error creating parts list: " &amp;amp; ex.Message)&lt;/SPAN&gt;
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&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;ShowPanelParts&lt;/SPAN&gt;(&lt;SPAN&gt;modelReference&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Document&lt;/SPAN&gt;, &lt;SPAN&gt;oDrawingDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt;)
    &lt;SPAN&gt;' Check if the document is an assembly&lt;/SPAN&gt;
    &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;modelReference&lt;/SPAN&gt;.&lt;SPAN&gt;DocumentType&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;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oAsmDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&lt;/SPAN&gt; = &lt;SPAN&gt;modelReference&lt;/SPAN&gt;
        
        &lt;SPAN&gt;' Get the first sheet from the template to use as a base&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oBaseSheet&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Sheet&lt;/SPAN&gt; = &lt;SPAN&gt;oDrawingDoc&lt;/SPAN&gt;.&lt;SPAN&gt;Sheets&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(1)
        
        &lt;SPAN&gt;' Create a collection for unique part names&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;uniqueParts&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;Collection&lt;/SPAN&gt;
        
        &lt;SPAN&gt;' Counter for sheet naming&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;sheetCounter&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt; = 1
        
        &lt;SPAN&gt;' Loop through all components in the assembly&lt;/SPAN&gt;
        &lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;oComp&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;oAsmDoc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;
            &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Suppressed&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
                &lt;SPAN&gt;' Check if the component name contains "PANEL"&lt;/SPAN&gt;
                &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;InStr&lt;/SPAN&gt;(&lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;, &lt;SPAN&gt;"PANEL"&lt;/SPAN&gt;) &amp;gt; 0 &lt;SPAN&gt;Then&lt;/SPAN&gt;
                    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;partName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;.&lt;SPAN&gt;ToUpper&lt;/SPAN&gt;()
                    &lt;SPAN&gt;partName&lt;/SPAN&gt; = &lt;SPAN&gt;Replace&lt;/SPAN&gt;(&lt;SPAN&gt;partName&lt;/SPAN&gt;, &lt;SPAN&gt;" LEFT"&lt;/SPAN&gt;, &lt;SPAN&gt;""&lt;/SPAN&gt;)
                    &lt;SPAN&gt;partName&lt;/SPAN&gt; = &lt;SPAN&gt;Replace&lt;/SPAN&gt;(&lt;SPAN&gt;partName&lt;/SPAN&gt;, &lt;SPAN&gt;" RIGHT"&lt;/SPAN&gt;, &lt;SPAN&gt;""&lt;/SPAN&gt;)
                    
                    &lt;SPAN&gt;' Check if the part is already in the collection&lt;/SPAN&gt;
                    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;isDuplicate&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt; = &lt;SPAN&gt;False&lt;/SPAN&gt;
                    &lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;uniquePart&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;uniqueParts&lt;/SPAN&gt;
                        &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;uniquePart&lt;/SPAN&gt; = &lt;SPAN&gt;partName&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
                            &lt;SPAN&gt;isDuplicate&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt;
                            &lt;SPAN&gt;Exit&lt;/SPAN&gt; &lt;SPAN&gt;For&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;' If the part is unique, add it and create views on a copied sheet&lt;/SPAN&gt;
                    &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;Not&lt;/SPAN&gt; &lt;SPAN&gt;isDuplicate&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
                        &lt;SPAN&gt;uniqueParts&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;partName&lt;/SPAN&gt;)
                        
                        &lt;SPAN&gt;' Copy the base sheet&lt;/SPAN&gt;
                        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oNewSheet&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Sheet&lt;/SPAN&gt; = &lt;SPAN&gt;oBaseSheet&lt;/SPAN&gt;.&lt;SPAN&gt;CopyTo&lt;/SPAN&gt;(&lt;SPAN&gt;oDrawingDoc&lt;/SPAN&gt;)
                        &lt;SPAN&gt;oNewSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;"Sheet "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;sheetCounter&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" - "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt;
                        &lt;SPAN&gt;sheetCounter&lt;/SPAN&gt; = &lt;SPAN&gt;sheetCounter&lt;/SPAN&gt; + 1
                        
                        &lt;SPAN&gt;' Create views on the copied sheet&lt;/SPAN&gt;
                        &lt;SPAN&gt;CreateViews&lt;/SPAN&gt;(&lt;SPAN&gt;oComp&lt;/SPAN&gt;, &lt;SPAN&gt;oNewSheet&lt;/SPAN&gt;)
                        &lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"Found part: "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" - Views created on "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;oNewSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Name&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;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
        &lt;SPAN&gt;Next&lt;/SPAN&gt;
        
        &lt;SPAN&gt;' Delete the original first sheet after all operations&lt;/SPAN&gt;
&lt;SPAN&gt;'        If oDrawingDoc.Sheets.Count &amp;gt; 1 Then&lt;/SPAN&gt;
&lt;SPAN&gt;'            oBaseSheet.Delete()&lt;/SPAN&gt;
&lt;SPAN&gt;'            ' Activate the first remaining sheet&lt;/SPAN&gt;
&lt;SPAN&gt;'            oDrawingDoc.Sheets.Item(1).Activate()&lt;/SPAN&gt;
&lt;SPAN&gt;'        End If&lt;/SPAN&gt;
    &lt;SPAN&gt;Else&lt;/SPAN&gt;
        &lt;SPAN&gt;MessageBox&lt;/SPAN&gt;.&lt;SPAN&gt;Show&lt;/SPAN&gt;(&lt;SPAN&gt;"The provided document is not an assembly."&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;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;CreateViews&lt;/SPAN&gt;(&lt;SPAN&gt;oComp&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrence&lt;/SPAN&gt;, &lt;SPAN&gt;oSheet&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Sheet&lt;/SPAN&gt;)
	&lt;SPAN&gt;' Set the scale for the views of individual parts&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;scale&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = 1 / 12

	&lt;SPAN&gt;' Define the view locations on the sheet&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;sheetCenterVertical&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = (&lt;SPAN&gt;oSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Height&lt;/SPAN&gt; / 2)
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;isoViewHorizontal&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = (&lt;SPAN&gt;oSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Width&lt;/SPAN&gt; * 0.25)
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;rightViewHorizontal&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = (&lt;SPAN&gt;oSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Width&lt;/SPAN&gt; * 0.75)

	&lt;SPAN&gt;' Create points for view placement&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oIsoViewPoint&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Point2d&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;TransientGeometry&lt;/SPAN&gt;.&lt;SPAN&gt;CreatePoint2d&lt;/SPAN&gt;(&lt;SPAN&gt;isoViewHorizontal&lt;/SPAN&gt;, &lt;SPAN&gt;sheetCenterVertical&lt;/SPAN&gt;)
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oRightViewPoint&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Point2d&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;TransientGeometry&lt;/SPAN&gt;.&lt;SPAN&gt;CreatePoint2d&lt;/SPAN&gt;(&lt;SPAN&gt;rightViewHorizontal&lt;/SPAN&gt;, &lt;SPAN&gt;sheetCenterVertical&lt;/SPAN&gt;)

	&lt;SPAN&gt;' Define view orientations&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;isoViewOrientation&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ViewOrientationTypeEnum&lt;/SPAN&gt; = &lt;SPAN&gt;kIsoTopRightViewOrientation&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;rightViewOrientation&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ViewOrientationTypeEnum&lt;/SPAN&gt; = &lt;SPAN&gt;kRightViewOrientation&lt;/SPAN&gt;

	&lt;SPAN&gt;' Define view styles&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;isoViewStyle&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingViewStyleEnum&lt;/SPAN&gt; = &lt;SPAN&gt;kShadedDrawingViewStyle&lt;/SPAN&gt;
	&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;rightViewStyle&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingViewStyleEnum&lt;/SPAN&gt; = &lt;SPAN&gt;kHiddenLineRemovedDrawingViewStyle&lt;/SPAN&gt;

	&lt;SPAN&gt;' Create views for the component&lt;/SPAN&gt;
	&lt;SPAN&gt;Try&lt;/SPAN&gt;
		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oIsoView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt; = &lt;SPAN&gt;oSheet&lt;/SPAN&gt;.&lt;SPAN&gt;DrawingViews&lt;/SPAN&gt;.&lt;SPAN&gt;AddBaseView&lt;/SPAN&gt;(&lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Definition&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;, &lt;SPAN&gt;oIsoViewPoint&lt;/SPAN&gt;, &lt;SPAN&gt;scale&lt;/SPAN&gt;, &lt;SPAN&gt;isoViewOrientation&lt;/SPAN&gt;, &lt;SPAN&gt;isoViewStyle&lt;/SPAN&gt;)
		&lt;SPAN&gt;oIsoView&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" ISOMETRIC VIEW"&lt;/SPAN&gt;

		&lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oRightView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt; = &lt;SPAN&gt;oSheet&lt;/SPAN&gt;.&lt;SPAN&gt;DrawingViews&lt;/SPAN&gt;.&lt;SPAN&gt;AddBaseView&lt;/SPAN&gt;(&lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Definition&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;, &lt;SPAN&gt;oRightViewPoint&lt;/SPAN&gt;, &lt;SPAN&gt;scale&lt;/SPAN&gt;, &lt;SPAN&gt;rightViewOrientation&lt;/SPAN&gt;, &lt;SPAN&gt;rightViewStyle&lt;/SPAN&gt;)
		&lt;SPAN&gt;oRightView&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;oComp&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" RIGHT VIEW"&lt;/SPAN&gt;
	&lt;SPAN&gt;Catch&lt;/SPAN&gt; &lt;SPAN&gt;ex&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Exception&lt;/SPAN&gt;
		&lt;SPAN&gt;'        MessageBox.Show("Error creating views for part '" &amp;amp; oComp.Name &amp;amp; "': " &amp;amp; ex.Message)&lt;/SPAN&gt;
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&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;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 01 Apr 2025 17:11:40 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-forum/drawing-creation-for-each-part/m-p/13402519#M1069</guid>
      <dc:creator>richie_tony007</dc:creator>
      <dc:date>2025-04-01T17:11:40Z</dc:date>
    </item>
  </channel>
</rss>

