<?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: Automatic drawing of sub-assembly in Inventor Programming - iLogic, Macros, AddIns &amp; Apprentice</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/12864450#M168904</link>
    <description>&lt;P&gt;Hi, Maybe this can be a start.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;  
  &lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;main&lt;/SPAN&gt;
	  
	  
	  
  &lt;SPAN&gt;' Get the active assembly.&lt;/SPAN&gt;
  &lt;SPAN&gt;'-------------------------------------------------------------------------------------&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;AssyName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;"Section3_AngleSupports"&lt;/SPAN&gt;  &lt;SPAN&gt;'name of the SubAssy&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;TemplateName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;"white.dwg"&lt;/SPAN&gt;  &lt;SPAN&gt;'name of the template&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;String&lt;/SPAN&gt; = &lt;SPAN&gt;"1:1"&lt;/SPAN&gt; &lt;SPAN&gt;'scale &lt;/SPAN&gt;
  &lt;SPAN&gt;'-------------------------------------------------------------------------------------&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;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;
      &lt;SPAN&gt;' Call the function that does the recursion.&lt;/SPAN&gt;
        &lt;SPAN&gt;TraverseAssembly&lt;/SPAN&gt;(&lt;SPAN&gt;oAsmDoc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;, 1, &lt;SPAN&gt;AssyName&lt;/SPAN&gt;, &lt;SPAN&gt;TemplateName&lt;/SPAN&gt;, &lt;SPAN&gt;Scale&lt;/SPAN&gt;)
		
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
	
	 &lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;TraverseAssembly&lt;/SPAN&gt;(&lt;SPAN&gt;Occurrences&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrences&lt;/SPAN&gt;, &lt;SPAN&gt;Level&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt;, &lt;SPAN&gt;Name&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;TemplateName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;scale&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;)
        &lt;SPAN&gt;' Iterate through all of the occurrence in this collection.  This&lt;/SPAN&gt;
        &lt;SPAN&gt;' represents the occurrences at the top level of an assembly.&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;DesignProject&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;DesignProjectManager&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDesignProject&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;DrawingTemplate&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;IO&lt;/SPAN&gt;.&lt;SPAN&gt;Path&lt;/SPAN&gt;.&lt;SPAN&gt;Combine&lt;/SPAN&gt;(&lt;SPAN&gt;DesignProject&lt;/SPAN&gt;.&lt;SPAN&gt;TemplatesPath&lt;/SPAN&gt;, &lt;SPAN&gt;TemplateName&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;Occurrences&lt;/SPAN&gt;
            &lt;SPAN&gt;' Check to see if this occurrence represents a subassembly&lt;/SPAN&gt;
            &lt;SPAN&gt;' and recursively call this function to traverse through it.&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;If&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;Name&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
                    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;AssyDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&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;oDrawDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt; = &lt;SPAN&gt;CreateDrawing&lt;/SPAN&gt;(&lt;SPAN&gt;DrawingTemplate&lt;/SPAN&gt;)
                    &lt;SPAN&gt;CreateViews&lt;/SPAN&gt;(&lt;SPAN&gt;oDrawDoc&lt;/SPAN&gt;, &lt;SPAN&gt;AssyDoc&lt;/SPAN&gt;, &lt;SPAN&gt;scale&lt;/SPAN&gt;)
                &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&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;Level&lt;/SPAN&gt; + 1, &lt;SPAN&gt;Name&lt;/SPAN&gt;, &lt;SPAN&gt;TemplateName&lt;/SPAN&gt;, &lt;SPAN&gt;scale&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;Sub&lt;/SPAN&gt;
	
	  &lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt; &lt;SPAN&gt;CreateDrawing&lt;/SPAN&gt;(&lt;SPAN&gt;DrawingDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;) &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt; = &lt;SPAN&gt;Nothing&lt;/SPAN&gt;
        &lt;SPAN&gt;Try&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oNewDrawDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt; = &lt;SPAN&gt;Nothing&lt;/SPAN&gt;
            &lt;SPAN&gt;oNewDrawDoc&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;DrawingDoc&lt;/SPAN&gt;)
            &lt;SPAN&gt;result&lt;/SPAN&gt; = &lt;SPAN&gt;oNewDrawDoc&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;MsgBox&lt;/SPAN&gt;(&lt;SPAN&gt;ex&lt;/SPAN&gt;.&lt;SPAN&gt;ToString&lt;/SPAN&gt;, &lt;SPAN&gt;MsgBoxStyle&lt;/SPAN&gt;.&lt;SPAN&gt;Critical&lt;/SPAN&gt;, &lt;SPAN&gt;"CreateDrawing"&lt;/SPAN&gt;)
        &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
        &lt;SPAN&gt;Return&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt;
    &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt;


    &lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;CreateViews&lt;/SPAN&gt;(&lt;SPAN&gt;ByVal&lt;/SPAN&gt; &lt;SPAN&gt;oDrawDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt;, &lt;SPAN&gt;ByVal&lt;/SPAN&gt; &lt;SPAN&gt;oAssyDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&lt;/SPAN&gt;, &lt;SPAN&gt;scale&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;)
        &lt;SPAN&gt;Try&lt;/SPAN&gt;
            &lt;SPAN&gt;'Set a reference to the active 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;oDrawDoc&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveSheet&lt;/SPAN&gt;
            &lt;SPAN&gt;' Create the placement point object.&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;Point1&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;) / 2) - 8
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;Point2&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) - 6
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPoint&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Point2d&lt;/SPAN&gt;
            &lt;SPAN&gt;oPoint&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;Point1&lt;/SPAN&gt;, &lt;SPAN&gt;Point2&lt;/SPAN&gt;)
            &lt;SPAN&gt;'view 1 FrontView&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;CreateView&lt;/SPAN&gt;(&lt;SPAN&gt;oAssyDoc&lt;/SPAN&gt;, &lt;SPAN&gt;oSheet&lt;/SPAN&gt;, &lt;SPAN&gt;oPoint&lt;/SPAN&gt;, &lt;SPAN&gt;True&lt;/SPAN&gt;, &lt;SPAN&gt;"Front"&lt;/SPAN&gt;, &lt;SPAN&gt;ViewOrientationTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kFrontViewOrientation&lt;/SPAN&gt;)
            &lt;SPAN&gt;oView&lt;/SPAN&gt;.&lt;SPAN&gt;ScaleString&lt;/SPAN&gt; = &lt;SPAN&gt;scale&lt;/SPAN&gt;
            &lt;SPAN&gt;oView&lt;/SPAN&gt;.&lt;SPAN&gt;ViewStyle&lt;/SPAN&gt; = &lt;SPAN&gt;DrawingViewStyleEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kShadedDrawingViewStyle&lt;/SPAN&gt;
            &lt;SPAN&gt;CreateProjectedView&lt;/SPAN&gt;(&lt;SPAN&gt;oView&lt;/SPAN&gt;, &lt;SPAN&gt;oSheet&lt;/SPAN&gt;, &lt;SPAN&gt;"Top"&lt;/SPAN&gt;, &lt;SPAN&gt;oView&lt;/SPAN&gt;.&lt;SPAN&gt;Height&lt;/SPAN&gt;)
            &lt;SPAN&gt;CreateProjectedView&lt;/SPAN&gt;(&lt;SPAN&gt;oView&lt;/SPAN&gt;, &lt;SPAN&gt;oSheet&lt;/SPAN&gt;, &lt;SPAN&gt;"Side"&lt;/SPAN&gt;, , &lt;SPAN&gt;oView&lt;/SPAN&gt;.&lt;SPAN&gt;Width&lt;/SPAN&gt;)
            &lt;SPAN&gt;CreateProjectedView&lt;/SPAN&gt;(&lt;SPAN&gt;oView&lt;/SPAN&gt;, &lt;SPAN&gt;oSheet&lt;/SPAN&gt;, &lt;SPAN&gt;"Iso"&lt;/SPAN&gt;, &lt;SPAN&gt;oView&lt;/SPAN&gt;.&lt;SPAN&gt;Height&lt;/SPAN&gt;, &lt;SPAN&gt;oView&lt;/SPAN&gt;.&lt;SPAN&gt;Width&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;MsgBox&lt;/SPAN&gt;(&lt;SPAN&gt;"General error in CreateViews, ex= "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;ex&lt;/SPAN&gt;.&lt;SPAN&gt;GetBaseException&lt;/SPAN&gt;.&lt;SPAN&gt;ToString&lt;/SPAN&gt;, &lt;SPAN&gt;MsgBoxStyle&lt;/SPAN&gt;.&lt;SPAN&gt;Critical&lt;/SPAN&gt;, &lt;SPAN&gt;"Error"&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;Private&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt; &lt;SPAN&gt;CreateView&lt;/SPAN&gt;(&lt;SPAN&gt;ByVal&lt;/SPAN&gt; &lt;SPAN&gt;oAssyDoc&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;oInsertionPoint2D&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Point2d&lt;/SPAN&gt;, &lt;SPAN&gt;Folded&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt;, &lt;SPAN&gt;ByVal&lt;/SPAN&gt; &lt;SPAN&gt;DrawingViewName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;ByVal&lt;/SPAN&gt; &lt;SPAN&gt;ViewOrientation&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ViewOrientationTypeEnum&lt;/SPAN&gt;) &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt; = &lt;SPAN&gt;Nothing&lt;/SPAN&gt;
        &lt;SPAN&gt;Try&lt;/SPAN&gt;
            &lt;SPAN&gt;' Create a BaseView.&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oBaseView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt;
            &lt;SPAN&gt;oBaseView&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;oAssyDoc&lt;/SPAN&gt;, &lt;SPAN&gt;oInsertionPoint2D&lt;/SPAN&gt;, 1, &lt;SPAN&gt;ViewOrientation&lt;/SPAN&gt;, &lt;SPAN&gt;DrawingViewStyleEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kShadedDrawingViewStyle&lt;/SPAN&gt;)
            &lt;SPAN&gt;oBaseView&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;DrawingViewName&lt;/SPAN&gt;
            &lt;SPAN&gt;result&lt;/SPAN&gt; = &lt;SPAN&gt;oBaseView&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;MsgBox&lt;/SPAN&gt;(&lt;SPAN&gt;"General error in CreateView, ex= "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;ex&lt;/SPAN&gt;.&lt;SPAN&gt;GetBaseException&lt;/SPAN&gt;.&lt;SPAN&gt;ToString&lt;/SPAN&gt;, &lt;SPAN&gt;MsgBoxStyle&lt;/SPAN&gt;.&lt;SPAN&gt;Critical&lt;/SPAN&gt;, &lt;SPAN&gt;"Error"&lt;/SPAN&gt;)
        &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
        &lt;SPAN&gt;Return&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt;
    &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt;

    &lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt; &lt;SPAN&gt;CreateProjectedView&lt;/SPAN&gt;(&lt;SPAN&gt;ByVal&lt;/SPAN&gt; &lt;SPAN&gt;baseView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt;, &lt;SPAN&gt;sheet&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Sheet&lt;/SPAN&gt;, &lt;SPAN&gt;DrawingViewName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;Optional&lt;/SPAN&gt; &lt;SPAN&gt;height&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = 0, &lt;SPAN&gt;Optional&lt;/SPAN&gt; &lt;SPAN&gt;width&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = 0) &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt; = &lt;SPAN&gt;Nothing&lt;/SPAN&gt;
        &lt;SPAN&gt;Try&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPositionBaseView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Point2d&lt;/SPAN&gt; = &lt;SPAN&gt;baseView&lt;/SPAN&gt;.&lt;SPAN&gt;Position&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;xBaseView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = &lt;SPAN&gt;oPositionBaseView&lt;/SPAN&gt;.&lt;SPAN&gt;X&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;yBaseView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = &lt;SPAN&gt;oPositionBaseView&lt;/SPAN&gt;.&lt;SPAN&gt;Y&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPointBottomView2&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Point2d&lt;/SPAN&gt;
            &lt;SPAN&gt;oPointBottomView2&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;xBaseView&lt;/SPAN&gt; + &lt;SPAN&gt;width&lt;/SPAN&gt; * 3), (&lt;SPAN&gt;yBaseView&lt;/SPAN&gt; + &lt;SPAN&gt;height&lt;/SPAN&gt; * 1.5))
            &lt;SPAN&gt;'BottomView&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oProjected&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt;
            &lt;SPAN&gt;oProjected&lt;/SPAN&gt; = &lt;SPAN&gt;sheet&lt;/SPAN&gt;.&lt;SPAN&gt;DrawingViews&lt;/SPAN&gt;.&lt;SPAN&gt;AddProjectedView&lt;/SPAN&gt;(&lt;SPAN&gt;baseView&lt;/SPAN&gt;, &lt;SPAN&gt;oPointBottomView2&lt;/SPAN&gt;, &lt;SPAN&gt;DrawingViewStyleEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kShadedDrawingViewStyle&lt;/SPAN&gt;)
            &lt;SPAN&gt;oProjected&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;DrawingViewName&lt;/SPAN&gt;
            &lt;SPAN&gt;result&lt;/SPAN&gt; = &lt;SPAN&gt;oProjected&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;MsgBox&lt;/SPAN&gt;(&lt;SPAN&gt;"General error in CreateView, ex= "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;ex&lt;/SPAN&gt;.&lt;SPAN&gt;GetBaseException&lt;/SPAN&gt;.&lt;SPAN&gt;ToString&lt;/SPAN&gt;, &lt;SPAN&gt;MsgBoxStyle&lt;/SPAN&gt;.&lt;SPAN&gt;Critical&lt;/SPAN&gt;, &lt;SPAN&gt;"Error"&lt;/SPAN&gt;)
        &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
        &lt;SPAN&gt;Return&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt;
    &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt;
	
	&lt;/PRE&gt;</description>
    <pubDate>Thu, 27 Jun 2024 10:35:31 GMT</pubDate>
    <dc:creator>nstevelmans</dc:creator>
    <dc:date>2024-06-27T10:35:31Z</dc:date>
    <item>
      <title>Automatic drawing of sub-assembly</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/12859531#M168815</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to know if ilogic exist to make 1 drawing by assembly with 3 predefined views :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1) I open assembly, which contain subassembly&amp;nbsp;&lt;/P&gt;&lt;P&gt;2) I run the iLogic and it make 1 drawing by subassembly (with the name of the subassembly)&lt;BR /&gt;3) The drawing have 3 views (front, top, side) + 1 ISO&lt;/P&gt;&lt;P&gt;3) The scale must be 1:1, for all&lt;/P&gt;&lt;P&gt;4) I use a specific template, for all (the template contain nothing, this is a "white" paper).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much !&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 25 Jun 2024 07:31:26 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/12859531#M168815</guid>
      <dc:creator>inventor4578</dc:creator>
      <dc:date>2024-06-25T07:31:26Z</dc:date>
    </item>
    <item>
      <title>Re: Automatic drawing of sub-assembly</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/12864022#M168897</link>
      <description>&lt;P&gt;Hi, any idea for this iLogic ? Thank you.&lt;/P&gt;</description>
      <pubDate>Thu, 27 Jun 2024 06:29:01 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/12864022#M168897</guid>
      <dc:creator>inventor4578</dc:creator>
      <dc:date>2024-06-27T06:29:01Z</dc:date>
    </item>
    <item>
      <title>Re: Automatic drawing of sub-assembly</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/12864450#M168904</link>
      <description>&lt;P&gt;Hi, Maybe this can be a start.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;  
  &lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;main&lt;/SPAN&gt;
	  
	  
	  
  &lt;SPAN&gt;' Get the active assembly.&lt;/SPAN&gt;
  &lt;SPAN&gt;'-------------------------------------------------------------------------------------&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;AssyName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;"Section3_AngleSupports"&lt;/SPAN&gt;  &lt;SPAN&gt;'name of the SubAssy&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;TemplateName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;"white.dwg"&lt;/SPAN&gt;  &lt;SPAN&gt;'name of the template&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;String&lt;/SPAN&gt; = &lt;SPAN&gt;"1:1"&lt;/SPAN&gt; &lt;SPAN&gt;'scale &lt;/SPAN&gt;
  &lt;SPAN&gt;'-------------------------------------------------------------------------------------&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;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;
      &lt;SPAN&gt;' Call the function that does the recursion.&lt;/SPAN&gt;
        &lt;SPAN&gt;TraverseAssembly&lt;/SPAN&gt;(&lt;SPAN&gt;oAsmDoc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;, 1, &lt;SPAN&gt;AssyName&lt;/SPAN&gt;, &lt;SPAN&gt;TemplateName&lt;/SPAN&gt;, &lt;SPAN&gt;Scale&lt;/SPAN&gt;)
		
	&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
	
	 &lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;TraverseAssembly&lt;/SPAN&gt;(&lt;SPAN&gt;Occurrences&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrences&lt;/SPAN&gt;, &lt;SPAN&gt;Level&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt;, &lt;SPAN&gt;Name&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;TemplateName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;scale&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;)
        &lt;SPAN&gt;' Iterate through all of the occurrence in this collection.  This&lt;/SPAN&gt;
        &lt;SPAN&gt;' represents the occurrences at the top level of an assembly.&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;DesignProject&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;DesignProjectManager&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDesignProject&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;DrawingTemplate&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;IO&lt;/SPAN&gt;.&lt;SPAN&gt;Path&lt;/SPAN&gt;.&lt;SPAN&gt;Combine&lt;/SPAN&gt;(&lt;SPAN&gt;DesignProject&lt;/SPAN&gt;.&lt;SPAN&gt;TemplatesPath&lt;/SPAN&gt;, &lt;SPAN&gt;TemplateName&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;Occurrences&lt;/SPAN&gt;
            &lt;SPAN&gt;' Check to see if this occurrence represents a subassembly&lt;/SPAN&gt;
            &lt;SPAN&gt;' and recursively call this function to traverse through it.&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;If&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;Name&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
                    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;AssyDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&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;oDrawDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt; = &lt;SPAN&gt;CreateDrawing&lt;/SPAN&gt;(&lt;SPAN&gt;DrawingTemplate&lt;/SPAN&gt;)
                    &lt;SPAN&gt;CreateViews&lt;/SPAN&gt;(&lt;SPAN&gt;oDrawDoc&lt;/SPAN&gt;, &lt;SPAN&gt;AssyDoc&lt;/SPAN&gt;, &lt;SPAN&gt;scale&lt;/SPAN&gt;)
                &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&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;Level&lt;/SPAN&gt; + 1, &lt;SPAN&gt;Name&lt;/SPAN&gt;, &lt;SPAN&gt;TemplateName&lt;/SPAN&gt;, &lt;SPAN&gt;scale&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;Sub&lt;/SPAN&gt;
	
	  &lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt; &lt;SPAN&gt;CreateDrawing&lt;/SPAN&gt;(&lt;SPAN&gt;DrawingDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;) &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt; = &lt;SPAN&gt;Nothing&lt;/SPAN&gt;
        &lt;SPAN&gt;Try&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oNewDrawDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt; = &lt;SPAN&gt;Nothing&lt;/SPAN&gt;
            &lt;SPAN&gt;oNewDrawDoc&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;DrawingDoc&lt;/SPAN&gt;)
            &lt;SPAN&gt;result&lt;/SPAN&gt; = &lt;SPAN&gt;oNewDrawDoc&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;MsgBox&lt;/SPAN&gt;(&lt;SPAN&gt;ex&lt;/SPAN&gt;.&lt;SPAN&gt;ToString&lt;/SPAN&gt;, &lt;SPAN&gt;MsgBoxStyle&lt;/SPAN&gt;.&lt;SPAN&gt;Critical&lt;/SPAN&gt;, &lt;SPAN&gt;"CreateDrawing"&lt;/SPAN&gt;)
        &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
        &lt;SPAN&gt;Return&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt;
    &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt;


    &lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;CreateViews&lt;/SPAN&gt;(&lt;SPAN&gt;ByVal&lt;/SPAN&gt; &lt;SPAN&gt;oDrawDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt;, &lt;SPAN&gt;ByVal&lt;/SPAN&gt; &lt;SPAN&gt;oAssyDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&lt;/SPAN&gt;, &lt;SPAN&gt;scale&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;)
        &lt;SPAN&gt;Try&lt;/SPAN&gt;
            &lt;SPAN&gt;'Set a reference to the active 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;oDrawDoc&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveSheet&lt;/SPAN&gt;
            &lt;SPAN&gt;' Create the placement point object.&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;Point1&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;) / 2) - 8
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;Point2&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) - 6
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPoint&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Point2d&lt;/SPAN&gt;
            &lt;SPAN&gt;oPoint&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;Point1&lt;/SPAN&gt;, &lt;SPAN&gt;Point2&lt;/SPAN&gt;)
            &lt;SPAN&gt;'view 1 FrontView&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;CreateView&lt;/SPAN&gt;(&lt;SPAN&gt;oAssyDoc&lt;/SPAN&gt;, &lt;SPAN&gt;oSheet&lt;/SPAN&gt;, &lt;SPAN&gt;oPoint&lt;/SPAN&gt;, &lt;SPAN&gt;True&lt;/SPAN&gt;, &lt;SPAN&gt;"Front"&lt;/SPAN&gt;, &lt;SPAN&gt;ViewOrientationTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kFrontViewOrientation&lt;/SPAN&gt;)
            &lt;SPAN&gt;oView&lt;/SPAN&gt;.&lt;SPAN&gt;ScaleString&lt;/SPAN&gt; = &lt;SPAN&gt;scale&lt;/SPAN&gt;
            &lt;SPAN&gt;oView&lt;/SPAN&gt;.&lt;SPAN&gt;ViewStyle&lt;/SPAN&gt; = &lt;SPAN&gt;DrawingViewStyleEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kShadedDrawingViewStyle&lt;/SPAN&gt;
            &lt;SPAN&gt;CreateProjectedView&lt;/SPAN&gt;(&lt;SPAN&gt;oView&lt;/SPAN&gt;, &lt;SPAN&gt;oSheet&lt;/SPAN&gt;, &lt;SPAN&gt;"Top"&lt;/SPAN&gt;, &lt;SPAN&gt;oView&lt;/SPAN&gt;.&lt;SPAN&gt;Height&lt;/SPAN&gt;)
            &lt;SPAN&gt;CreateProjectedView&lt;/SPAN&gt;(&lt;SPAN&gt;oView&lt;/SPAN&gt;, &lt;SPAN&gt;oSheet&lt;/SPAN&gt;, &lt;SPAN&gt;"Side"&lt;/SPAN&gt;, , &lt;SPAN&gt;oView&lt;/SPAN&gt;.&lt;SPAN&gt;Width&lt;/SPAN&gt;)
            &lt;SPAN&gt;CreateProjectedView&lt;/SPAN&gt;(&lt;SPAN&gt;oView&lt;/SPAN&gt;, &lt;SPAN&gt;oSheet&lt;/SPAN&gt;, &lt;SPAN&gt;"Iso"&lt;/SPAN&gt;, &lt;SPAN&gt;oView&lt;/SPAN&gt;.&lt;SPAN&gt;Height&lt;/SPAN&gt;, &lt;SPAN&gt;oView&lt;/SPAN&gt;.&lt;SPAN&gt;Width&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;MsgBox&lt;/SPAN&gt;(&lt;SPAN&gt;"General error in CreateViews, ex= "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;ex&lt;/SPAN&gt;.&lt;SPAN&gt;GetBaseException&lt;/SPAN&gt;.&lt;SPAN&gt;ToString&lt;/SPAN&gt;, &lt;SPAN&gt;MsgBoxStyle&lt;/SPAN&gt;.&lt;SPAN&gt;Critical&lt;/SPAN&gt;, &lt;SPAN&gt;"Error"&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;Private&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt; &lt;SPAN&gt;CreateView&lt;/SPAN&gt;(&lt;SPAN&gt;ByVal&lt;/SPAN&gt; &lt;SPAN&gt;oAssyDoc&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;oInsertionPoint2D&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Point2d&lt;/SPAN&gt;, &lt;SPAN&gt;Folded&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt;, &lt;SPAN&gt;ByVal&lt;/SPAN&gt; &lt;SPAN&gt;DrawingViewName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;ByVal&lt;/SPAN&gt; &lt;SPAN&gt;ViewOrientation&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ViewOrientationTypeEnum&lt;/SPAN&gt;) &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt; = &lt;SPAN&gt;Nothing&lt;/SPAN&gt;
        &lt;SPAN&gt;Try&lt;/SPAN&gt;
            &lt;SPAN&gt;' Create a BaseView.&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oBaseView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt;
            &lt;SPAN&gt;oBaseView&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;oAssyDoc&lt;/SPAN&gt;, &lt;SPAN&gt;oInsertionPoint2D&lt;/SPAN&gt;, 1, &lt;SPAN&gt;ViewOrientation&lt;/SPAN&gt;, &lt;SPAN&gt;DrawingViewStyleEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kShadedDrawingViewStyle&lt;/SPAN&gt;)
            &lt;SPAN&gt;oBaseView&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;DrawingViewName&lt;/SPAN&gt;
            &lt;SPAN&gt;result&lt;/SPAN&gt; = &lt;SPAN&gt;oBaseView&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;MsgBox&lt;/SPAN&gt;(&lt;SPAN&gt;"General error in CreateView, ex= "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;ex&lt;/SPAN&gt;.&lt;SPAN&gt;GetBaseException&lt;/SPAN&gt;.&lt;SPAN&gt;ToString&lt;/SPAN&gt;, &lt;SPAN&gt;MsgBoxStyle&lt;/SPAN&gt;.&lt;SPAN&gt;Critical&lt;/SPAN&gt;, &lt;SPAN&gt;"Error"&lt;/SPAN&gt;)
        &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
        &lt;SPAN&gt;Return&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt;
    &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt;

    &lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt; &lt;SPAN&gt;CreateProjectedView&lt;/SPAN&gt;(&lt;SPAN&gt;ByVal&lt;/SPAN&gt; &lt;SPAN&gt;baseView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt;, &lt;SPAN&gt;sheet&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Sheet&lt;/SPAN&gt;, &lt;SPAN&gt;DrawingViewName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;Optional&lt;/SPAN&gt; &lt;SPAN&gt;height&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = 0, &lt;SPAN&gt;Optional&lt;/SPAN&gt; &lt;SPAN&gt;width&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = 0) &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt; = &lt;SPAN&gt;Nothing&lt;/SPAN&gt;
        &lt;SPAN&gt;Try&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPositionBaseView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Point2d&lt;/SPAN&gt; = &lt;SPAN&gt;baseView&lt;/SPAN&gt;.&lt;SPAN&gt;Position&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;xBaseView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = &lt;SPAN&gt;oPositionBaseView&lt;/SPAN&gt;.&lt;SPAN&gt;X&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;yBaseView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = &lt;SPAN&gt;oPositionBaseView&lt;/SPAN&gt;.&lt;SPAN&gt;Y&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPointBottomView2&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Point2d&lt;/SPAN&gt;
            &lt;SPAN&gt;oPointBottomView2&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;xBaseView&lt;/SPAN&gt; + &lt;SPAN&gt;width&lt;/SPAN&gt; * 3), (&lt;SPAN&gt;yBaseView&lt;/SPAN&gt; + &lt;SPAN&gt;height&lt;/SPAN&gt; * 1.5))
            &lt;SPAN&gt;'BottomView&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oProjected&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt;
            &lt;SPAN&gt;oProjected&lt;/SPAN&gt; = &lt;SPAN&gt;sheet&lt;/SPAN&gt;.&lt;SPAN&gt;DrawingViews&lt;/SPAN&gt;.&lt;SPAN&gt;AddProjectedView&lt;/SPAN&gt;(&lt;SPAN&gt;baseView&lt;/SPAN&gt;, &lt;SPAN&gt;oPointBottomView2&lt;/SPAN&gt;, &lt;SPAN&gt;DrawingViewStyleEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kShadedDrawingViewStyle&lt;/SPAN&gt;)
            &lt;SPAN&gt;oProjected&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;DrawingViewName&lt;/SPAN&gt;
            &lt;SPAN&gt;result&lt;/SPAN&gt; = &lt;SPAN&gt;oProjected&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;MsgBox&lt;/SPAN&gt;(&lt;SPAN&gt;"General error in CreateView, ex= "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;ex&lt;/SPAN&gt;.&lt;SPAN&gt;GetBaseException&lt;/SPAN&gt;.&lt;SPAN&gt;ToString&lt;/SPAN&gt;, &lt;SPAN&gt;MsgBoxStyle&lt;/SPAN&gt;.&lt;SPAN&gt;Critical&lt;/SPAN&gt;, &lt;SPAN&gt;"Error"&lt;/SPAN&gt;)
        &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
        &lt;SPAN&gt;Return&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt;
    &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt;
	
	&lt;/PRE&gt;</description>
      <pubDate>Thu, 27 Jun 2024 10:35:31 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/12864450#M168904</guid>
      <dc:creator>nstevelmans</dc:creator>
      <dc:date>2024-06-27T10:35:31Z</dc:date>
    </item>
    <item>
      <title>Re: Automatic drawing of sub-assembly</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/12867161#M168969</link>
      <description>&lt;P&gt;Hi ! Thank you very much !&lt;/P&gt;&lt;P&gt;I have a problem i have "Erreur non spécifiée (Exception from HRESULT: 0x80004005 (E_FAIL))"&lt;/P&gt;&lt;P&gt;If i delete the line " Dim AssyName As String = " is working, but not in all assembly (not in frame assembly for example).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you again&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 28 Jun 2024 14:11:42 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/12867161#M168969</guid>
      <dc:creator>inventor4578</dc:creator>
      <dc:date>2024-06-28T14:11:42Z</dc:date>
    </item>
    <item>
      <title>Re: Automatic drawing of sub-assembly</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/12869708#M169001</link>
      <description>&lt;P&gt;Hi, I think the problem was the position off the views, I have the code adjusted.&lt;/P&gt;&lt;P&gt;You can also adjust the spacing between the views.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Animatie.gif" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1381599i52FEDB9EB9EAB257/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Animatie.gif" alt="Animatie.gif" /&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;If this answers your question, please use&amp;nbsp;&lt;STRONG&gt;&amp;nbsp;ACCEPT SOLUTION&amp;nbsp;&lt;/STRONG&gt;&amp;nbsp;to assist other users later.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Also be generous with Likes!&amp;nbsp; Thank you and enjoy!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;  
  &lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;main&lt;/SPAN&gt;
	  &lt;SPAN&gt;' Get the active assembly.&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;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;AssyName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;"framework:1"&lt;/SPAN&gt;  &lt;SPAN&gt;'name of the SubAssy&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;TemplateName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;"white.dwg"&lt;/SPAN&gt;  &lt;SPAN&gt;'name of the templae&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;String&lt;/SPAN&gt; = &lt;SPAN&gt;"1:1"&lt;/SPAN&gt; &lt;SPAN&gt;'scale&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;SpacingBetweenViews&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = 5
        &lt;SPAN&gt;' Call the function that does the recursion.&lt;/SPAN&gt;
        &lt;SPAN&gt;TraverseAssembly&lt;/SPAN&gt;(&lt;SPAN&gt;oAsmDoc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;, 1, &lt;SPAN&gt;AssyName&lt;/SPAN&gt;, &lt;SPAN&gt;TemplateName&lt;/SPAN&gt;, &lt;SPAN&gt;Scale&lt;/SPAN&gt;, &lt;SPAN&gt;SpacingBetweenViews&lt;/SPAN&gt;)
  &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
  
  
    &lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;TraverseAssembly&lt;/SPAN&gt;(&lt;SPAN&gt;Occurrences&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrences&lt;/SPAN&gt;, &lt;SPAN&gt;Level&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt;, &lt;SPAN&gt;Name&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;TemplateName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;scale&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;SpacingViews&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt;)
        &lt;SPAN&gt;' Iterate through all of the occurrence in this collection.  This&lt;/SPAN&gt;
        &lt;SPAN&gt;' represents the occurrences at the top level of an assembly.&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;DesignProject&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;DesignProjectManager&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDesignProject&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;DrawingTemplate&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;IO&lt;/SPAN&gt;.&lt;SPAN&gt;Path&lt;/SPAN&gt;.&lt;SPAN&gt;Combine&lt;/SPAN&gt;(&lt;SPAN&gt;DesignProject&lt;/SPAN&gt;.&lt;SPAN&gt;TemplatesPath&lt;/SPAN&gt;, &lt;SPAN&gt;TemplateName&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;Occurrences&lt;/SPAN&gt;
            &lt;SPAN&gt;' Check to see if this occurrence represents a subassembly&lt;/SPAN&gt;
            &lt;SPAN&gt;' and recursively call this function to traverse through it.&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;If&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;Name&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
                    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;AssyDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&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;oDrawDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt; = &lt;SPAN&gt;CreateDrawing&lt;/SPAN&gt;(&lt;SPAN&gt;DrawingTemplate&lt;/SPAN&gt;)
                    &lt;SPAN&gt;CreateViews&lt;/SPAN&gt;(&lt;SPAN&gt;oDrawDoc&lt;/SPAN&gt;, &lt;SPAN&gt;AssyDoc&lt;/SPAN&gt;, &lt;SPAN&gt;scale&lt;/SPAN&gt;, &lt;SPAN&gt;SpacingViews&lt;/SPAN&gt;)
                &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&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;Level&lt;/SPAN&gt; + 1, &lt;SPAN&gt;Name&lt;/SPAN&gt;, &lt;SPAN&gt;TemplateName&lt;/SPAN&gt;, &lt;SPAN&gt;scale&lt;/SPAN&gt;, &lt;SPAN&gt;SpacingViews&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;Sub&lt;/SPAN&gt;


    &lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt; &lt;SPAN&gt;CreateDrawing&lt;/SPAN&gt;(&lt;SPAN&gt;DrawingDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;) &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt; = &lt;SPAN&gt;Nothing&lt;/SPAN&gt;
        &lt;SPAN&gt;Try&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oNewDrawDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt; = &lt;SPAN&gt;Nothing&lt;/SPAN&gt;
            &lt;SPAN&gt;oNewDrawDoc&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;DrawingDoc&lt;/SPAN&gt;)
            &lt;SPAN&gt;result&lt;/SPAN&gt; = &lt;SPAN&gt;oNewDrawDoc&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;MsgBox&lt;/SPAN&gt;(&lt;SPAN&gt;ex&lt;/SPAN&gt;.&lt;SPAN&gt;ToString&lt;/SPAN&gt;, &lt;SPAN&gt;MsgBoxStyle&lt;/SPAN&gt;.&lt;SPAN&gt;Critical&lt;/SPAN&gt;, &lt;SPAN&gt;"CreateDrawing"&lt;/SPAN&gt;)
        &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
        &lt;SPAN&gt;Return&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt;
    &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt;


    &lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;CreateViews&lt;/SPAN&gt;(&lt;SPAN&gt;ByVal&lt;/SPAN&gt; &lt;SPAN&gt;oDrawDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt;, &lt;SPAN&gt;ByVal&lt;/SPAN&gt; &lt;SPAN&gt;oAssyDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&lt;/SPAN&gt;, &lt;SPAN&gt;scale&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;SpacingViews&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt;)
        &lt;SPAN&gt;Try&lt;/SPAN&gt;
            &lt;SPAN&gt;'Set a reference to the active 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;oDrawDoc&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveSheet&lt;/SPAN&gt;
            &lt;SPAN&gt;' Create the placement point object.&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;Point1&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;) / 2) - 8
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;Point2&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) - 6
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPoint&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Point2d&lt;/SPAN&gt;
            &lt;SPAN&gt;oPoint&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;Point1&lt;/SPAN&gt;, &lt;SPAN&gt;Point2&lt;/SPAN&gt;)
            &lt;SPAN&gt;'view 1 FrontView&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oViewFront&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt; = &lt;SPAN&gt;CreateBaseView&lt;/SPAN&gt;(&lt;SPAN&gt;oAssyDoc&lt;/SPAN&gt;, &lt;SPAN&gt;oSheet&lt;/SPAN&gt;, &lt;SPAN&gt;oPoint&lt;/SPAN&gt;, &lt;SPAN&gt;True&lt;/SPAN&gt;, &lt;SPAN&gt;"Front"&lt;/SPAN&gt;, &lt;SPAN&gt;ViewOrientationTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kFrontViewOrientation&lt;/SPAN&gt;)
            &lt;SPAN&gt;oViewFront&lt;/SPAN&gt;.&lt;SPAN&gt;ScaleString&lt;/SPAN&gt; = &lt;SPAN&gt;scale&lt;/SPAN&gt;
            &lt;SPAN&gt;oViewFront&lt;/SPAN&gt;.&lt;SPAN&gt;ViewStyle&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;oBaseViewCenter&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Point2d&lt;/SPAN&gt; = &lt;SPAN&gt;oViewFront&lt;/SPAN&gt;.&lt;SPAN&gt;Center&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;obaseViewX&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = &lt;SPAN&gt;oBaseViewCenter&lt;/SPAN&gt;.&lt;SPAN&gt;X&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;obaseViewY&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = &lt;SPAN&gt;oBaseViewCenter&lt;/SPAN&gt;.&lt;SPAN&gt;Y&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;ViewFrontheight&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = &lt;SPAN&gt;oViewFront&lt;/SPAN&gt;.&lt;SPAN&gt;Height&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;ViewFrontWidth&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = &lt;SPAN&gt;oViewFront&lt;/SPAN&gt;.&lt;SPAN&gt;Width&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oViewTop&lt;/SPAN&gt; = &lt;SPAN&gt;CreateProjectedView&lt;/SPAN&gt;(&lt;SPAN&gt;oViewFront&lt;/SPAN&gt;, &lt;SPAN&gt;oSheet&lt;/SPAN&gt;, &lt;SPAN&gt;"Top"&lt;/SPAN&gt;, &lt;SPAN&gt;oViewFront&lt;/SPAN&gt;.&lt;SPAN&gt;Center&lt;/SPAN&gt;.&lt;SPAN&gt;Y&lt;/SPAN&gt; + 10)
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oViewSide&lt;/SPAN&gt; = &lt;SPAN&gt;CreateProjectedView&lt;/SPAN&gt;(&lt;SPAN&gt;oViewFront&lt;/SPAN&gt;, &lt;SPAN&gt;oSheet&lt;/SPAN&gt;, &lt;SPAN&gt;"Side"&lt;/SPAN&gt;,, &lt;SPAN&gt;oViewFront&lt;/SPAN&gt;.&lt;SPAN&gt;Center&lt;/SPAN&gt;.&lt;SPAN&gt;X&lt;/SPAN&gt; + 10)
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oViewIso&lt;/SPAN&gt; = &lt;SPAN&gt;CreateProjectedView&lt;/SPAN&gt;(&lt;SPAN&gt;oViewFront&lt;/SPAN&gt;, &lt;SPAN&gt;oSheet&lt;/SPAN&gt;, &lt;SPAN&gt;"Iso"&lt;/SPAN&gt;, &lt;SPAN&gt;oViewFront&lt;/SPAN&gt;.&lt;SPAN&gt;Center&lt;/SPAN&gt;.&lt;SPAN&gt;X&lt;/SPAN&gt; + 10, &lt;SPAN&gt;oViewFront&lt;/SPAN&gt;.&lt;SPAN&gt;Center&lt;/SPAN&gt;.&lt;SPAN&gt;Y&lt;/SPAN&gt; + 10)
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;ViewTopheight&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = &lt;SPAN&gt;oViewTop&lt;/SPAN&gt;.&lt;SPAN&gt;Height&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;ViewTopWidth&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = &lt;SPAN&gt;oViewTop&lt;/SPAN&gt;.&lt;SPAN&gt;Width&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oViewTopPlace&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;obaseViewX&lt;/SPAN&gt;, &lt;SPAN&gt;obaseViewY&lt;/SPAN&gt; + (&lt;SPAN&gt;ViewFrontheight&lt;/SPAN&gt; / 2) + (&lt;SPAN&gt;ViewTopheight&lt;/SPAN&gt; / 2) + &lt;SPAN&gt;SpacingViews&lt;/SPAN&gt;)
            &lt;SPAN&gt;oViewTop&lt;/SPAN&gt;.&lt;SPAN&gt;Position&lt;/SPAN&gt; = &lt;SPAN&gt;oViewTopPlace&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;ViewSideheight&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = &lt;SPAN&gt;oViewSide&lt;/SPAN&gt;.&lt;SPAN&gt;Height&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;ViewSideWidth&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = &lt;SPAN&gt;oViewSide&lt;/SPAN&gt;.&lt;SPAN&gt;Width&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oViewSidePlace&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;obaseViewX&lt;/SPAN&gt; + (&lt;SPAN&gt;ViewFrontWidth&lt;/SPAN&gt; / 2) + (&lt;SPAN&gt;ViewSideWidth&lt;/SPAN&gt; / 2) + &lt;SPAN&gt;SpacingViews&lt;/SPAN&gt;, &lt;SPAN&gt;obaseViewY&lt;/SPAN&gt;)
            &lt;SPAN&gt;oViewSide&lt;/SPAN&gt;.&lt;SPAN&gt;Position&lt;/SPAN&gt; = &lt;SPAN&gt;oViewSidePlace&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;ViewIsoheight&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = &lt;SPAN&gt;oViewIso&lt;/SPAN&gt;.&lt;SPAN&gt;Height&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;ViewIsoWidth&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = &lt;SPAN&gt;oViewIso&lt;/SPAN&gt;.&lt;SPAN&gt;Width&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oViewIsoPlace&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;oViewSide&lt;/SPAN&gt;.&lt;SPAN&gt;Center&lt;/SPAN&gt;.&lt;SPAN&gt;X&lt;/SPAN&gt; + (&lt;SPAN&gt;ViewSideWidth&lt;/SPAN&gt; / 2), &lt;SPAN&gt;oViewTop&lt;/SPAN&gt;.&lt;SPAN&gt;Center&lt;/SPAN&gt;.&lt;SPAN&gt;Y&lt;/SPAN&gt; + (&lt;SPAN&gt;ViewTopheight&lt;/SPAN&gt; / 2))
            &lt;SPAN&gt;oViewIso&lt;/SPAN&gt;.&lt;SPAN&gt;Position&lt;/SPAN&gt; = &lt;SPAN&gt;oViewIsoPlace&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;MsgBox&lt;/SPAN&gt;(&lt;SPAN&gt;ex&lt;/SPAN&gt;.&lt;SPAN&gt;ToString&lt;/SPAN&gt;, &lt;SPAN&gt;MsgBoxStyle&lt;/SPAN&gt;.&lt;SPAN&gt;Critical&lt;/SPAN&gt;, &lt;SPAN&gt;"CreateViews"&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;Private&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt; &lt;SPAN&gt;CreateBaseView&lt;/SPAN&gt;(&lt;SPAN&gt;ByVal&lt;/SPAN&gt; &lt;SPAN&gt;oAssyDoc&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;oInsertionPoint2D&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Point2d&lt;/SPAN&gt;, &lt;SPAN&gt;Folded&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt;, &lt;SPAN&gt;ByVal&lt;/SPAN&gt; &lt;SPAN&gt;DrawingViewName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;ByVal&lt;/SPAN&gt; &lt;SPAN&gt;ViewOrientation&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ViewOrientationTypeEnum&lt;/SPAN&gt;) &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt; = &lt;SPAN&gt;Nothing&lt;/SPAN&gt;
        &lt;SPAN&gt;Try&lt;/SPAN&gt;
            &lt;SPAN&gt;' Create a BaseView.&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oBaseView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt;
            &lt;SPAN&gt;oBaseView&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;oAssyDoc&lt;/SPAN&gt;, &lt;SPAN&gt;oInsertionPoint2D&lt;/SPAN&gt;, 1, &lt;SPAN&gt;ViewOrientation&lt;/SPAN&gt;, &lt;SPAN&gt;DrawingViewStyleEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kShadedDrawingViewStyle&lt;/SPAN&gt;)
            &lt;SPAN&gt;oBaseView&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;DrawingViewName&lt;/SPAN&gt;
            &lt;SPAN&gt;result&lt;/SPAN&gt; = &lt;SPAN&gt;oBaseView&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;MsgBox&lt;/SPAN&gt;(&lt;SPAN&gt;ex&lt;/SPAN&gt;.&lt;SPAN&gt;ToString&lt;/SPAN&gt;, &lt;SPAN&gt;MsgBoxStyle&lt;/SPAN&gt;.&lt;SPAN&gt;Critical&lt;/SPAN&gt;, &lt;SPAN&gt;"CreateBaseView"&lt;/SPAN&gt;)
        &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
        &lt;SPAN&gt;Return&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt;
    &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt;

    &lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt; &lt;SPAN&gt;CreateProjectedView&lt;/SPAN&gt;(&lt;SPAN&gt;ByVal&lt;/SPAN&gt; &lt;SPAN&gt;baseView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt;, &lt;SPAN&gt;sheet&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Sheet&lt;/SPAN&gt;, &lt;SPAN&gt;DrawingViewName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;Optional&lt;/SPAN&gt; &lt;SPAN&gt;height&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = 0, &lt;SPAN&gt;Optional&lt;/SPAN&gt; &lt;SPAN&gt;width&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = 0) &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt; = &lt;SPAN&gt;Nothing&lt;/SPAN&gt;
        &lt;SPAN&gt;Try&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPositionBaseView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Point2d&lt;/SPAN&gt; = &lt;SPAN&gt;baseView&lt;/SPAN&gt;.&lt;SPAN&gt;Position&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;xBaseView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = &lt;SPAN&gt;oPositionBaseView&lt;/SPAN&gt;.&lt;SPAN&gt;X&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;yBaseView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = &lt;SPAN&gt;oPositionBaseView&lt;/SPAN&gt;.&lt;SPAN&gt;Y&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oPointBottomView2&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Point2d&lt;/SPAN&gt;
            &lt;SPAN&gt;oPointBottomView2&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;xBaseView&lt;/SPAN&gt; + &lt;SPAN&gt;width&lt;/SPAN&gt; * 3), (&lt;SPAN&gt;yBaseView&lt;/SPAN&gt; + &lt;SPAN&gt;height&lt;/SPAN&gt; * 1.5))
            &lt;SPAN&gt;'BottomView&lt;/SPAN&gt;
            &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;oProjected&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt;
            &lt;SPAN&gt;oProjected&lt;/SPAN&gt; = &lt;SPAN&gt;sheet&lt;/SPAN&gt;.&lt;SPAN&gt;DrawingViews&lt;/SPAN&gt;.&lt;SPAN&gt;AddProjectedView&lt;/SPAN&gt;(&lt;SPAN&gt;baseView&lt;/SPAN&gt;, &lt;SPAN&gt;oPointBottomView2&lt;/SPAN&gt;, &lt;SPAN&gt;DrawingViewStyleEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kShadedDrawingViewStyle&lt;/SPAN&gt;)
            &lt;SPAN&gt;oProjected&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;DrawingViewName&lt;/SPAN&gt;
            &lt;SPAN&gt;result&lt;/SPAN&gt; = &lt;SPAN&gt;oProjected&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;MsgBox&lt;/SPAN&gt;(&lt;SPAN&gt;ex&lt;/SPAN&gt;.&lt;SPAN&gt;ToString&lt;/SPAN&gt;, &lt;SPAN&gt;MsgBoxStyle&lt;/SPAN&gt;.&lt;SPAN&gt;Critical&lt;/SPAN&gt;, &lt;SPAN&gt;"CreateProjectedView"&lt;/SPAN&gt;)
        &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Try&lt;/SPAN&gt;
        &lt;SPAN&gt;Return&lt;/SPAN&gt; &lt;SPAN&gt;result&lt;/SPAN&gt;
    &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt; &lt;/P&gt;</description>
      <pubDate>Sun, 30 Jun 2024 11:36:24 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/12869708#M169001</guid>
      <dc:creator>nstevelmans</dc:creator>
      <dc:date>2024-06-30T11:36:24Z</dc:date>
    </item>
    <item>
      <title>Re: Automatic drawing of sub-assembly</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/12870625#M169013</link>
      <description>&lt;P&gt;Hi, thank you very much for reply and screen.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;U&gt;I still get an error :&lt;/U&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="inventor4578_0-1719810980256.png" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1381750i4D2FAAA506299BB3/image-size/medium?v=v2&amp;amp;px=400" role="button" title="inventor4578_0-1719810980256.png" alt="inventor4578_0-1719810980256.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;System.Runtime.InteropServices.COMException (0x80004005): Erreur non spécifiée (Exception from HRESULT: 0x80004005 (E_FAIL))&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;at System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData&amp;amp; msgData)&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;at Inventor.ComponentOccurrence.get_SubOccurrences()&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;at ThisRule.TraverseAssembly(ComponentOccurrences Occurrences, Int32 Level, String Name, String TemplateName, String scale, Double SpacingViews) in external rule: GEN DRAWING:line 28&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;at ThisRule.TraverseAssembly(ComponentOccurrences Occurrences, Int32 Level, String Name, String TemplateName, String scale, Double SpacingViews) in external rule: GEN DRAWING:line 28&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;at ThisRule.Main() in external rule: GEN DRAWING:line 9&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;at Autodesk.iLogic.Exec.AppDomExec.ExecRuleInAssembly(Assembly assem)&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;at iLogic.RuleEvalContainer.ExecRuleEval(String execRule)&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;If i remove the line "Dim AssyName As String = "framework:1" 'name of the SubAssy" it's work partially (i get error line 27 after 3/4 subassembly creating).&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I double check the assyname, the template path ect. I don't know from what it come.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you again&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;&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;&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>Mon, 01 Jul 2024 05:24:55 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/12870625#M169013</guid>
      <dc:creator>inventor4578</dc:creator>
      <dc:date>2024-07-01T05:24:55Z</dc:date>
    </item>
    <item>
      <title>Re: Automatic drawing of sub-assembly</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/12870689#M169019</link>
      <description>&lt;P&gt;Hi, which version of inventor you are using?&lt;/P&gt;&lt;P&gt;I found this thread same error with inventor 2022.&lt;/P&gt;&lt;P&gt;&lt;A href="https://forums.autodesk.com/t5/inventor-forum/latest-version-2022-1-keeps-throwing-this-error/td-p/10470823" target="_blank"&gt;https://forums.autodesk.com/t5/inventor-forum/latest-version-2022-1-keeps-throwing-this-error/td-p/10470823&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;install all updates of inventor.&lt;/P&gt;</description>
      <pubDate>Mon, 01 Jul 2024 06:23:42 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/12870689#M169019</guid>
      <dc:creator>nstevelmans</dc:creator>
      <dc:date>2024-07-01T06:23:42Z</dc:date>
    </item>
    <item>
      <title>Re: Automatic drawing of sub-assembly</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/12877718#M169149</link>
      <description>&lt;P&gt;I have&amp;nbsp;2022.5.2&lt;/P&gt;</description>
      <pubDate>Thu, 04 Jul 2024 05:33:56 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/12877718#M169149</guid>
      <dc:creator>inventor4578</dc:creator>
      <dc:date>2024-07-04T05:33:56Z</dc:date>
    </item>
    <item>
      <title>Re: Automatic drawing of sub-assembly</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/12878107#M169153</link>
      <description>&lt;P&gt;Oké see if we can debug this,&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;We want to know if the Assy can be found, run this code a Message will appear.&lt;/LI&gt;&lt;/OL&gt;&lt;PRE&gt;&lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;main&lt;/SPAN&gt;
	  &lt;SPAN&gt;' Get the active assembly.&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;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;AssyName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;"framework:1"&lt;/SPAN&gt;  &lt;SPAN&gt;'name of the SubAssy&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;TemplateName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;"white.dwg"&lt;/SPAN&gt;  &lt;SPAN&gt;'name of the templae&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;String&lt;/SPAN&gt; = &lt;SPAN&gt;"1:1"&lt;/SPAN&gt; &lt;SPAN&gt;'scale&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;SpacingBetweenViews&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = 5
        &lt;SPAN&gt;' Call the function that does the recursion.&lt;/SPAN&gt;
        &lt;SPAN&gt;TraverseAssembly&lt;/SPAN&gt;(&lt;SPAN&gt;oAsmDoc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;, 1, &lt;SPAN&gt;AssyName&lt;/SPAN&gt;, &lt;SPAN&gt;TemplateName&lt;/SPAN&gt;, &lt;SPAN&gt;Scale&lt;/SPAN&gt;, &lt;SPAN&gt;SpacingBetweenViews&lt;/SPAN&gt;)
				
  &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
  
  
    &lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;TraverseAssembly&lt;/SPAN&gt;(&lt;SPAN&gt;Occurrences&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrences&lt;/SPAN&gt;, &lt;SPAN&gt;Level&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt;, &lt;SPAN&gt;Name&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;TemplateName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;scale&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;SpacingViews&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt;)
        &lt;SPAN&gt;' Iterate through all of the occurrence in this collection.  This&lt;/SPAN&gt;
        &lt;SPAN&gt;' represents the occurrences at the top level of an assembly.&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;DesignProject&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;DesignProjectManager&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDesignProject&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;DrawingTemplate&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;IO&lt;/SPAN&gt;.&lt;SPAN&gt;Path&lt;/SPAN&gt;.&lt;SPAN&gt;Combine&lt;/SPAN&gt;(&lt;SPAN&gt;DesignProject&lt;/SPAN&gt;.&lt;SPAN&gt;TemplatesPath&lt;/SPAN&gt;, &lt;SPAN&gt;TemplateName&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;Occurrences&lt;/SPAN&gt;
            &lt;SPAN&gt;' Check to see if this occurrence represents a subassembly&lt;/SPAN&gt;
            &lt;SPAN&gt;' and recursively call this function to traverse through it.&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;If&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;Name&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
                    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;AssyDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&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;MsgBox&lt;/SPAN&gt;(&lt;SPAN&gt;"Assy Found"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;AssyDoc&lt;/SPAN&gt;.&lt;SPAN&gt;FullFileName&lt;/SPAN&gt; )
&lt;SPAN&gt;'                    Dim oDrawDoc As DrawingDocument = CreateDrawing(DrawingTemplate)&lt;/SPAN&gt;
&lt;SPAN&gt;'                    CreateViews(oDrawDoc, AssyDoc, scale, SpacingViews)&lt;/SPAN&gt;
                &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&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;Level&lt;/SPAN&gt; + 1, &lt;SPAN&gt;Name&lt;/SPAN&gt;, &lt;SPAN&gt;TemplateName&lt;/SPAN&gt;, &lt;SPAN&gt;scale&lt;/SPAN&gt;, &lt;SPAN&gt;SpacingViews&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;Sub&lt;/SPAN&gt;
	&lt;/PRE&gt;</description>
      <pubDate>Thu, 04 Jul 2024 09:33:12 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/12878107#M169153</guid>
      <dc:creator>nstevelmans</dc:creator>
      <dc:date>2024-07-04T09:33:12Z</dc:date>
    </item>
    <item>
      <title>Re: Automatic drawing of sub-assembly</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/12971679#M170971</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Now i updated to Inventor 2024.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When i run i get :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Error on line 30 in rule: GEN DRAWING, in document: XXX.iam&lt;/P&gt;&lt;P&gt;Unspecified error (Exception from HRESULT: 0x80004005 (E_FAIL))"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;System.Runtime.InteropServices.COMException (0x80004005): Unspecified error (Exception from HRESULT: 0x80004005 (E_FAIL))&lt;BR /&gt;at System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData&amp;amp; msgData)&lt;BR /&gt;at Inventor.ComponentOccurrence.get_SubOccurrences()&lt;BR /&gt;at ThisRule.TraverseAssembly(ComponentOccurrences Occurrences, Int32 Level, String Name, String TemplateName, String scale, Double SpacingViews) in external rule: GEN DRAWING:line 30&lt;BR /&gt;at ThisRule.TraverseAssembly(ComponentOccurrences Occurrences, Int32 Level, String Name, String TemplateName, String scale, Double SpacingViews) in external rule: GEN DRAWING:line 30&lt;BR /&gt;at ThisRule.Main() in external rule: GEN DRAWING:line 9&lt;BR /&gt;at Autodesk.iLogic.Exec.AppDomExec.ExecRuleInAssembly(Assembly assem)&lt;BR /&gt;at iLogic.RuleEvalContainer.ExecRuleEval(String execRule)&lt;/P&gt;</description>
      <pubDate>Wed, 21 Aug 2024 08:06:25 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/12971679#M170971</guid>
      <dc:creator>inventor4578</dc:creator>
      <dc:date>2024-08-21T08:06:25Z</dc:date>
    </item>
    <item>
      <title>Re: Automatic drawing of sub-assembly</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/12974418#M171031</link>
      <description>&lt;P&gt;Hi, have you tried &lt;STRONG&gt;this&lt;/STRONG&gt; code to find out if we can find the Assembly,&lt;/P&gt;&lt;P&gt;Can provide a small dataset for testing?&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 assembly.&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;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDocument&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;AssyName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;"testframe"&lt;/SPAN&gt;  &lt;SPAN&gt;'name of the SubAssy&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;TemplateName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;"white.dwg"&lt;/SPAN&gt;  &lt;SPAN&gt;'name of the templae&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;String&lt;/SPAN&gt; = &lt;SPAN&gt;"1:1"&lt;/SPAN&gt; &lt;SPAN&gt;'scale&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;SpacingBetweenViews&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = 5
        &lt;SPAN&gt;' Call the function that does the recursion.&lt;/SPAN&gt;
        &lt;SPAN&gt;TraverseAssembly&lt;/SPAN&gt;(&lt;SPAN&gt;oAsmDoc&lt;/SPAN&gt;.&lt;SPAN&gt;ComponentDefinition&lt;/SPAN&gt;.&lt;SPAN&gt;Occurrences&lt;/SPAN&gt;, 1, &lt;SPAN&gt;AssyName&lt;/SPAN&gt;, &lt;SPAN&gt;TemplateName&lt;/SPAN&gt;, &lt;SPAN&gt;Scale&lt;/SPAN&gt;, &lt;SPAN&gt;SpacingBetweenViews&lt;/SPAN&gt;)
				
  &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
  
  
    &lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;TraverseAssembly&lt;/SPAN&gt;(&lt;SPAN&gt;Occurrences&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;ComponentOccurrences&lt;/SPAN&gt;, &lt;SPAN&gt;Level&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Integer&lt;/SPAN&gt;, &lt;SPAN&gt;Name&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;TemplateName&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;scale&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt;, &lt;SPAN&gt;SpacingViews&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt;)
        &lt;SPAN&gt;' Iterate through all of the occurrence in this collection.  This&lt;/SPAN&gt;
        &lt;SPAN&gt;' represents the occurrences at the top level of an assembly.&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;DesignProject&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;DesignProjectManager&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveDesignProject&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;DrawingTemplate&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;String&lt;/SPAN&gt; = &lt;SPAN&gt;System&lt;/SPAN&gt;.&lt;SPAN&gt;IO&lt;/SPAN&gt;.&lt;SPAN&gt;Path&lt;/SPAN&gt;.&lt;SPAN&gt;Combine&lt;/SPAN&gt;(&lt;SPAN&gt;DesignProject&lt;/SPAN&gt;.&lt;SPAN&gt;TemplatesPath&lt;/SPAN&gt;, &lt;SPAN&gt;TemplateName&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;Occurrences&lt;/SPAN&gt;
            &lt;SPAN&gt;' Check to see if this occurrence represents a subassembly&lt;/SPAN&gt;
            &lt;SPAN&gt;' and recursively call this function to traverse through it.&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;If&lt;/SPAN&gt; &lt;SPAN&gt;oOcc&lt;/SPAN&gt;.&lt;SPAN&gt;Name&lt;/SPAN&gt; = &lt;SPAN&gt;Name&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
                    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;AssyDoc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;AssemblyDocument&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;MsgBox&lt;/SPAN&gt;(&lt;SPAN&gt;"Assy Found"&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;" "&lt;/SPAN&gt; &amp;amp; &lt;SPAN&gt;AssyDoc&lt;/SPAN&gt;.&lt;SPAN&gt;FullFileName&lt;/SPAN&gt; )
&lt;SPAN&gt;'                    Dim oDrawDoc As DrawingDocument = CreateDrawing(DrawingTemplate)&lt;/SPAN&gt;
&lt;SPAN&gt;'                    CreateViews(oDrawDoc, AssyDoc, scale, SpacingViews)&lt;/SPAN&gt;
                &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&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;Level&lt;/SPAN&gt; + 1, &lt;SPAN&gt;Name&lt;/SPAN&gt;, &lt;SPAN&gt;TemplateName&lt;/SPAN&gt;, &lt;SPAN&gt;scale&lt;/SPAN&gt;, &lt;SPAN&gt;SpacingViews&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;Sub&lt;/SPAN&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 22 Aug 2024 09:45:17 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/12974418#M171031</guid>
      <dc:creator>nstevelmans</dc:creator>
      <dc:date>2024-08-22T09:45:17Z</dc:date>
    </item>
    <item>
      <title>Re: Automatic drawing of sub-assembly</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/13121663#M173483</link>
      <description>&lt;P&gt;Hi, i get "Unspecified error (Exception from HRESULT: 0x80004005 (E_FAIL))".&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Maybe more simple : Is it possible to run the iLogic from the active assembly and make drawing for each subassembly instead of looking for specific assembly ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much,&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Thomas.&lt;/P&gt;</description>
      <pubDate>Thu, 31 Oct 2024 09:47:43 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/automatic-drawing-of-sub-assembly/m-p/13121663#M173483</guid>
      <dc:creator>inventor4578</dc:creator>
      <dc:date>2024-10-31T09:47:43Z</dc:date>
    </item>
  </channel>
</rss>

