<?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: adding dimensions automaticly - Rule not working properly in Inventor Programming - iLogic, Macros, AddIns &amp; Apprentice</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/adding-dimensions-automaticly-rule-not-working-properly/m-p/12050790#M154310</link>
    <description>&lt;P&gt;The issue is that your code starts a &lt;A href="https://adndevblog.typepad.com/manufacturing/2012/07/how-nested-transactions-undo-and-abort-work-in-inventor.html" target="_blank" rel="noopener"&gt;transaction&lt;/A&gt;, but never finishes it. Change your Sub main() to the following and the issue should go away.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="visual-basic"&gt;    Sub main()
		
	
	
	 _doc = ThisDoc.Document
        _sheet = _doc.ActiveSheet
        _view = ThisApplication.CommandManager.Pick(
                       SelectionFilterEnum.kDrawingViewFilter,
                       "Select a drawing view")
        'Start the transaction
        Dim oTransaction As Transaction = ThisApplication.TransactionManager.StartTransaction(_doc, "Generate dimensions")
        CreateIntentList()

        ' Comment out features that you dont want/need!
        CreateHorizontalDimensions()
        CreateVerticalDimensions()
        'CreateMarks()
        AddDiameterDimensionToCircles()
        ' createHorizontalOuterDimension()
        ' createVerticalOuterDimension()


	i += 1
        
         'End the transaction
         oTransaction.End()
	
    End Sub&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 21 Jun 2023 16:29:50 GMT</pubDate>
    <dc:creator>abdullah_elq</dc:creator>
    <dc:date>2023-06-21T16:29:50Z</dc:date>
    <item>
      <title>adding dimensions automaticly - Rule not working properly</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/adding-dimensions-automaticly-rule-not-working-properly/m-p/12050309#M154299</link>
      <description>&lt;P&gt;Hi folks!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have the next problem, after i have added a view on my drawing i have this nice rule to automate the annonations needed for the people in the workshop to do the drilling of the holes. I attached the drawing document with a view added of a profile that needs holes.&lt;/P&gt;&lt;P&gt;- i click the rule&lt;/P&gt;&lt;P&gt;- i add the dimensions to the profile&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;so far so good! The dimensions are nicely added. Amazing&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;but then the HORROR starts. because i continue creating the drawing but when i push Control-z, it takes me all the way back to the moment i added the rule. As well als my Model Tree freezes.&lt;BR /&gt;Does anyone knows what is wrong with the code that it starts doing weird stuff?&lt;BR /&gt;i attached a sample document that shows my problem.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Here is the code:&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Public&lt;/SPAN&gt; &lt;SPAN&gt;Class&lt;/SPAN&gt; &lt;SPAN&gt;ThisRule&lt;/SPAN&gt;

    &lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;_doc&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingDocument&lt;/SPAN&gt;
    &lt;SPAN&gt;Private&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;Private&lt;/SPAN&gt; &lt;SPAN&gt;_view&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingView&lt;/SPAN&gt;
    &lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;_intents&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;List&lt;/SPAN&gt;(&lt;SPAN&gt;Of&lt;/SPAN&gt; &lt;SPAN&gt;GeometryIntent&lt;/SPAN&gt;) = &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;List&lt;/SPAN&gt;(&lt;SPAN&gt;Of&lt;/SPAN&gt; &lt;SPAN&gt;GeometryIntent&lt;/SPAN&gt;)()
    &lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;_centerPointIntents&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;List&lt;/SPAN&gt;(&lt;SPAN&gt;Of&lt;/SPAN&gt; &lt;SPAN&gt;GeometryIntent&lt;/SPAN&gt;) = &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;List&lt;/SPAN&gt;(&lt;SPAN&gt;Of&lt;/SPAN&gt; &lt;SPAN&gt;GeometryIntent&lt;/SPAN&gt;)()

    &lt;SPAN&gt;' Some settings here for you to change. &lt;/SPAN&gt;
    &lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;_stackedDimensions&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt; = &lt;SPAN&gt;True&lt;/SPAN&gt;
    &lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;_firstOffset&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = 0.4 &lt;SPAN&gt;'Cm&lt;/SPAN&gt;
    &lt;SPAN&gt;Private&lt;/SPAN&gt; &lt;SPAN&gt;_offsetDimension&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = 0.5 &lt;SPAN&gt;'Cm&lt;/SPAN&gt;



    &lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;main&lt;/SPAN&gt;()
	
	 &lt;SPAN&gt;_doc&lt;/SPAN&gt; = &lt;SPAN&gt;ThisDoc&lt;/SPAN&gt;.&lt;SPAN&gt;Document&lt;/SPAN&gt;
        &lt;SPAN&gt;_sheet&lt;/SPAN&gt; = &lt;SPAN&gt;_doc&lt;/SPAN&gt;.&lt;SPAN&gt;ActiveSheet&lt;/SPAN&gt;
        &lt;SPAN&gt;_view&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;CommandManager&lt;/SPAN&gt;.&lt;SPAN&gt;Pick&lt;/SPAN&gt;(
                       &lt;SPAN&gt;SelectionFilterEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kDrawingViewFilter&lt;/SPAN&gt;,
                       &lt;SPAN&gt;"Select a drawing view"&lt;/SPAN&gt;)

        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;transaction&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Transaction&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;TransactionManager&lt;/SPAN&gt;.&lt;SPAN&gt;StartTransaction&lt;/SPAN&gt;(&lt;SPAN&gt;_doc&lt;/SPAN&gt;, &lt;SPAN&gt;"Generate dimensions"&lt;/SPAN&gt;)
        &lt;SPAN&gt;CreateIntentList&lt;/SPAN&gt;()

        &lt;SPAN&gt;' Comment out features that you dont want/need!&lt;/SPAN&gt;
        &lt;SPAN&gt;CreateHorizontalDimensions&lt;/SPAN&gt;()
        &lt;SPAN&gt;CreateVerticalDimensions&lt;/SPAN&gt;()
        &lt;SPAN&gt;'CreateMarks()&lt;/SPAN&gt;
        &lt;SPAN&gt;AddDiameterDimensionToCircles&lt;/SPAN&gt;()
        &lt;SPAN&gt;' createHorizontalOuterDimension()&lt;/SPAN&gt;
        &lt;SPAN&gt;' createVerticalOuterDimension()&lt;/SPAN&gt;


	&lt;SPAN&gt;i&lt;/SPAN&gt; += 1

	
    &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;




    &lt;SPAN&gt;Public&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;CreateHorizontalDimensions&lt;/SPAN&gt;()
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;orderedIntents&lt;/SPAN&gt; = &lt;SPAN&gt;_intents&lt;/SPAN&gt;.&lt;SPAN&gt;OrderBy&lt;/SPAN&gt;(&lt;SPAN&gt;Function&lt;/SPAN&gt;(&lt;SPAN&gt;s&lt;/SPAN&gt;) &lt;SPAN&gt;s&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;.&lt;SPAN&gt;X&lt;/SPAN&gt;)
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;orderedCenterIntents&lt;/SPAN&gt; = &lt;SPAN&gt;_centerPointIntents&lt;/SPAN&gt;.&lt;SPAN&gt;OrderBy&lt;/SPAN&gt;(&lt;SPAN&gt;Function&lt;/SPAN&gt;(&lt;SPAN&gt;s&lt;/SPAN&gt;) &lt;SPAN&gt;s&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;.&lt;SPAN&gt;X&lt;/SPAN&gt;)

        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;pointLeft&lt;/SPAN&gt; = &lt;SPAN&gt;orderedIntents&lt;/SPAN&gt;.&lt;SPAN&gt;First&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;pointRight&lt;/SPAN&gt; = &lt;SPAN&gt;Nothing&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;lastX&lt;/SPAN&gt; = &lt;SPAN&gt;pointLeft&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;.&lt;SPAN&gt;X&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;offset&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = &lt;SPAN&gt;_firstOffset&lt;/SPAN&gt;
        &lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;intent&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;GeometryIntent&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;orderedCenterIntents&lt;/SPAN&gt;
            &lt;SPAN&gt;pointRight&lt;/SPAN&gt; = &lt;SPAN&gt;intent&lt;/SPAN&gt;
            &lt;SPAN&gt;If&lt;/SPAN&gt; (&lt;SPAN&gt;AreEqual&lt;/SPAN&gt;(&lt;SPAN&gt;pointRight&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;.&lt;SPAN&gt;X&lt;/SPAN&gt;, &lt;SPAN&gt;lastX&lt;/SPAN&gt;)) &lt;SPAN&gt;Then&lt;/SPAN&gt;
                &lt;SPAN&gt;Continue&lt;/SPAN&gt; &lt;SPAN&gt;For&lt;/SPAN&gt;
            &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
            &lt;SPAN&gt;CreateHorizontalDimension&lt;/SPAN&gt;(&lt;SPAN&gt;pointLeft&lt;/SPAN&gt;, &lt;SPAN&gt;pointRight&lt;/SPAN&gt;, &lt;SPAN&gt;offset&lt;/SPAN&gt;)
            &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;_stackedDimensions&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
                &lt;SPAN&gt;offset&lt;/SPAN&gt; = &lt;SPAN&gt;offset&lt;/SPAN&gt; + &lt;SPAN&gt;_offsetDimension&lt;/SPAN&gt;
            &lt;SPAN&gt;Else&lt;/SPAN&gt;
               
            &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
            &lt;SPAN&gt;lastX&lt;/SPAN&gt; = &lt;SPAN&gt;pointRight&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;.&lt;SPAN&gt;X&lt;/SPAN&gt;
        &lt;SPAN&gt;Next&lt;/SPAN&gt;
        &lt;SPAN&gt;pointRight&lt;/SPAN&gt; = &lt;SPAN&gt;orderedIntents&lt;/SPAN&gt;.&lt;SPAN&gt;Last&lt;/SPAN&gt;

        &lt;SPAN&gt;CreateHorizontalDimension&lt;/SPAN&gt;(&lt;SPAN&gt;pointLeft&lt;/SPAN&gt;, &lt;SPAN&gt;pointRight&lt;/SPAN&gt;, &lt;SPAN&gt;offset&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;CreateHorizontalDimension&lt;/SPAN&gt;(&lt;SPAN&gt;pointLeft&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;GeometryIntent&lt;/SPAN&gt;,
                                          &lt;SPAN&gt;pointRight&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;GeometryIntent&lt;/SPAN&gt;,
                                          &lt;SPAN&gt;distanceFromView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt;)
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;textX&lt;/SPAN&gt; = &lt;SPAN&gt;pointLeft&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;.&lt;SPAN&gt;X&lt;/SPAN&gt; +
                (&lt;SPAN&gt;pointRight&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;.&lt;SPAN&gt;X&lt;/SPAN&gt; - &lt;SPAN&gt;pointLeft&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;.&lt;SPAN&gt;X&lt;/SPAN&gt;) / 2
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;textY&lt;/SPAN&gt; = &lt;SPAN&gt;_view&lt;/SPAN&gt;.&lt;SPAN&gt;Position&lt;/SPAN&gt;.&lt;SPAN&gt;Y&lt;/SPAN&gt; + &lt;SPAN&gt;_view&lt;/SPAN&gt;.&lt;SPAN&gt;Height&lt;/SPAN&gt; / 2 + &lt;SPAN&gt;distanceFromView&lt;/SPAN&gt;

        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;pointText&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;textX&lt;/SPAN&gt;, &lt;SPAN&gt;textY&lt;/SPAN&gt;)
        &lt;SPAN&gt;_sheet&lt;/SPAN&gt;.&lt;SPAN&gt;DrawingDimensions&lt;/SPAN&gt;.&lt;SPAN&gt;GeneralDimensions&lt;/SPAN&gt;.&lt;SPAN&gt;AddLinear&lt;/SPAN&gt;(
            &lt;SPAN&gt;pointText&lt;/SPAN&gt;, &lt;SPAN&gt;pointLeft&lt;/SPAN&gt;, &lt;SPAN&gt;pointRight&lt;/SPAN&gt;, &lt;SPAN&gt;DimensionTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kHorizontalDimensionType&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;CreateHorizontalOuterDimension&lt;/SPAN&gt;()
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;orderedIntents&lt;/SPAN&gt; = &lt;SPAN&gt;_intents&lt;/SPAN&gt;.&lt;SPAN&gt;OrderByDescending&lt;/SPAN&gt;(&lt;SPAN&gt;Function&lt;/SPAN&gt;(&lt;SPAN&gt;s&lt;/SPAN&gt;) &lt;SPAN&gt;s&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;.&lt;SPAN&gt;X&lt;/SPAN&gt;)

        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;pointLeft&lt;/SPAN&gt; = &lt;SPAN&gt;orderedIntents&lt;/SPAN&gt;.&lt;SPAN&gt;First&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;pointRight&lt;/SPAN&gt; = &lt;SPAN&gt;orderedIntents&lt;/SPAN&gt;.&lt;SPAN&gt;Last&lt;/SPAN&gt;

        &lt;SPAN&gt;CreateHorizontalDimension&lt;/SPAN&gt;(&lt;SPAN&gt;pointLeft&lt;/SPAN&gt;, &lt;SPAN&gt;pointRight&lt;/SPAN&gt;, &lt;SPAN&gt;_firstOffset&lt;/SPAN&gt; - &lt;SPAN&gt;_offsetDimension&lt;/SPAN&gt;)
    &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;

    &lt;SPAN&gt;Public&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;CreateVerticalDimensions&lt;/SPAN&gt;()
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;orderedIntents&lt;/SPAN&gt; = &lt;SPAN&gt;_intents&lt;/SPAN&gt;.&lt;SPAN&gt;OrderByDescending&lt;/SPAN&gt;(&lt;SPAN&gt;Function&lt;/SPAN&gt;(&lt;SPAN&gt;s&lt;/SPAN&gt;) &lt;SPAN&gt;s&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Y&lt;/SPAN&gt;)
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;orderedCenterIntents&lt;/SPAN&gt; = &lt;SPAN&gt;_centerPointIntents&lt;/SPAN&gt;.&lt;SPAN&gt;OrderByDescending&lt;/SPAN&gt;(&lt;SPAN&gt;Function&lt;/SPAN&gt;(&lt;SPAN&gt;s&lt;/SPAN&gt;) &lt;SPAN&gt;s&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Y&lt;/SPAN&gt;)

        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;pointLeft&lt;/SPAN&gt; = &lt;SPAN&gt;orderedIntents&lt;/SPAN&gt;.&lt;SPAN&gt;First&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;pointRight&lt;/SPAN&gt; = &lt;SPAN&gt;Nothing&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;lastY&lt;/SPAN&gt; = &lt;SPAN&gt;pointLeft&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Y&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;offset&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = &lt;SPAN&gt;_firstOffset&lt;/SPAN&gt;
        &lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;intent&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;GeometryIntent&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;orderedCenterIntents&lt;/SPAN&gt;
            &lt;SPAN&gt;pointRight&lt;/SPAN&gt; = &lt;SPAN&gt;intent&lt;/SPAN&gt;
            &lt;SPAN&gt;If&lt;/SPAN&gt; (&lt;SPAN&gt;AreEqual&lt;/SPAN&gt;(&lt;SPAN&gt;pointRight&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Y&lt;/SPAN&gt;, &lt;SPAN&gt;lastY&lt;/SPAN&gt;)) &lt;SPAN&gt;Then&lt;/SPAN&gt;
                &lt;SPAN&gt;Continue&lt;/SPAN&gt; &lt;SPAN&gt;For&lt;/SPAN&gt;
            &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
            &lt;SPAN&gt;CreateVerticalDimension&lt;/SPAN&gt;(&lt;SPAN&gt;pointLeft&lt;/SPAN&gt;, &lt;SPAN&gt;pointRight&lt;/SPAN&gt;, &lt;SPAN&gt;offset&lt;/SPAN&gt;)
            &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;_stackedDimensions&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
                &lt;SPAN&gt;offset&lt;/SPAN&gt; = &lt;SPAN&gt;offset&lt;/SPAN&gt; + &lt;SPAN&gt;_offsetDimension&lt;/SPAN&gt;
            &lt;SPAN&gt;Else&lt;/SPAN&gt;
                &lt;SPAN&gt;pointLeft&lt;/SPAN&gt; = &lt;SPAN&gt;pointRight&lt;/SPAN&gt;
            &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
            &lt;SPAN&gt;lastY&lt;/SPAN&gt; = &lt;SPAN&gt;pointRight&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Y&lt;/SPAN&gt;
        &lt;SPAN&gt;Next&lt;/SPAN&gt;
        &lt;SPAN&gt;pointRight&lt;/SPAN&gt; = &lt;SPAN&gt;orderedIntents&lt;/SPAN&gt;.&lt;SPAN&gt;Last&lt;/SPAN&gt;

        &lt;SPAN&gt;CreateVerticalDimension&lt;/SPAN&gt;(&lt;SPAN&gt;pointLeft&lt;/SPAN&gt;, &lt;SPAN&gt;pointRight&lt;/SPAN&gt;, &lt;SPAN&gt;offset&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;CreateMarks&lt;/SPAN&gt;()
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;done&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;List&lt;/SPAN&gt;(&lt;SPAN&gt;Of&lt;/SPAN&gt; &lt;SPAN&gt;GeometryIntent&lt;/SPAN&gt;) = &lt;SPAN&gt;New&lt;/SPAN&gt; &lt;SPAN&gt;List&lt;/SPAN&gt;(&lt;SPAN&gt;Of&lt;/SPAN&gt; &lt;SPAN&gt;GeometryIntent&lt;/SPAN&gt;)()
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;orderedCenterIntents&lt;/SPAN&gt; = &lt;SPAN&gt;_centerPointIntents&lt;/SPAN&gt;.&lt;SPAN&gt;OrderByDescending&lt;/SPAN&gt;(&lt;SPAN&gt;Function&lt;/SPAN&gt;(&lt;SPAN&gt;s&lt;/SPAN&gt;) &lt;SPAN&gt;s&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Y&lt;/SPAN&gt;)
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;firstIntent&lt;/SPAN&gt; = &lt;SPAN&gt;orderedCenterIntents&lt;/SPAN&gt;(0)
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;secondIntent&lt;/SPAN&gt; = &lt;SPAN&gt;Nothing&lt;/SPAN&gt;
        &lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt; = 1 &lt;SPAN&gt;To&lt;/SPAN&gt; &lt;SPAN&gt;orderedCenterIntents&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt; - 1
            &lt;SPAN&gt;secondIntent&lt;/SPAN&gt; = &lt;SPAN&gt;orderedCenterIntents&lt;/SPAN&gt;(&lt;SPAN&gt;i&lt;/SPAN&gt;)
            &lt;SPAN&gt;If&lt;/SPAN&gt; (&lt;SPAN&gt;AreEqual&lt;/SPAN&gt;(&lt;SPAN&gt;firstIntent&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Y&lt;/SPAN&gt;, &lt;SPAN&gt;secondIntent&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Y&lt;/SPAN&gt;)) &lt;SPAN&gt;Then&lt;/SPAN&gt;
                &lt;SPAN&gt;CreateCenterLine&lt;/SPAN&gt;(&lt;SPAN&gt;firstIntent&lt;/SPAN&gt;, &lt;SPAN&gt;secondIntent&lt;/SPAN&gt;)
                &lt;SPAN&gt;done&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;firstIntent&lt;/SPAN&gt;)
                &lt;SPAN&gt;done&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;secondIntent&lt;/SPAN&gt;)
            &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
            &lt;SPAN&gt;firstIntent&lt;/SPAN&gt; = &lt;SPAN&gt;secondIntent&lt;/SPAN&gt;
        &lt;SPAN&gt;Next&lt;/SPAN&gt;

        &lt;SPAN&gt;orderedCenterIntents&lt;/SPAN&gt; = &lt;SPAN&gt;_centerPointIntents&lt;/SPAN&gt;.&lt;SPAN&gt;OrderByDescending&lt;/SPAN&gt;(&lt;SPAN&gt;Function&lt;/SPAN&gt;(&lt;SPAN&gt;s&lt;/SPAN&gt;) &lt;SPAN&gt;s&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;.&lt;SPAN&gt;X&lt;/SPAN&gt;)
        &lt;SPAN&gt;firstIntent&lt;/SPAN&gt; = &lt;SPAN&gt;orderedCenterIntents&lt;/SPAN&gt;(0)
        &lt;SPAN&gt;secondIntent&lt;/SPAN&gt; = &lt;SPAN&gt;Nothing&lt;/SPAN&gt;
        &lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;i&lt;/SPAN&gt; = 1 &lt;SPAN&gt;To&lt;/SPAN&gt; &lt;SPAN&gt;orderedCenterIntents&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt; - 1
            &lt;SPAN&gt;secondIntent&lt;/SPAN&gt; = &lt;SPAN&gt;orderedCenterIntents&lt;/SPAN&gt;(&lt;SPAN&gt;i&lt;/SPAN&gt;)
            &lt;SPAN&gt;If&lt;/SPAN&gt; (&lt;SPAN&gt;AreEqual&lt;/SPAN&gt;(&lt;SPAN&gt;firstIntent&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;.&lt;SPAN&gt;X&lt;/SPAN&gt;, &lt;SPAN&gt;secondIntent&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;.&lt;SPAN&gt;X&lt;/SPAN&gt;)) &lt;SPAN&gt;Then&lt;/SPAN&gt;
                &lt;SPAN&gt;CreateCenterLine&lt;/SPAN&gt;(&lt;SPAN&gt;firstIntent&lt;/SPAN&gt;, &lt;SPAN&gt;secondIntent&lt;/SPAN&gt;)
                &lt;SPAN&gt;done&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;firstIntent&lt;/SPAN&gt;)
                &lt;SPAN&gt;done&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;secondIntent&lt;/SPAN&gt;)
            &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
            &lt;SPAN&gt;firstIntent&lt;/SPAN&gt; = &lt;SPAN&gt;secondIntent&lt;/SPAN&gt;
        &lt;SPAN&gt;Next&lt;/SPAN&gt;

        &lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;intent&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;GeometryIntent&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;orderedCenterIntents&lt;/SPAN&gt;
            &lt;SPAN&gt;If&lt;/SPAN&gt; (&lt;SPAN&gt;done&lt;/SPAN&gt;.&lt;SPAN&gt;Contains&lt;/SPAN&gt;(&lt;SPAN&gt;intent&lt;/SPAN&gt;)) &lt;SPAN&gt;Then&lt;/SPAN&gt;
                &lt;SPAN&gt;Continue&lt;/SPAN&gt; &lt;SPAN&gt;For&lt;/SPAN&gt;
            &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
            &lt;SPAN&gt;_sheet&lt;/SPAN&gt;.&lt;SPAN&gt;Centermarks&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;intent&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;Public&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt; &lt;SPAN&gt;CreateCenterLine&lt;/SPAN&gt;(&lt;SPAN&gt;pointLeft&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;GeometryIntent&lt;/SPAN&gt;, &lt;SPAN&gt;pointRight&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;GeometryIntent&lt;/SPAN&gt;)
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;collection&lt;/SPAN&gt; = &lt;SPAN&gt;ThisApplication&lt;/SPAN&gt;.&lt;SPAN&gt;TransientObjects&lt;/SPAN&gt;.&lt;SPAN&gt;CreateObjectCollection&lt;/SPAN&gt;()
        &lt;SPAN&gt;collection&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;pointLeft&lt;/SPAN&gt;)
        &lt;SPAN&gt;collection&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;pointRight&lt;/SPAN&gt;)
        &lt;SPAN&gt;_sheet&lt;/SPAN&gt;.&lt;SPAN&gt;Centerlines&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;collection&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;CreateVerticalDimension&lt;/SPAN&gt;(&lt;SPAN&gt;pointLeft&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;GeometryIntent&lt;/SPAN&gt;,
                                        &lt;SPAN&gt;pointRight&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;GeometryIntent&lt;/SPAN&gt;,
                                        &lt;SPAN&gt;distanceFromView&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt;)

        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;textY&lt;/SPAN&gt; = &lt;SPAN&gt;pointLeft&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Y&lt;/SPAN&gt; +
                (&lt;SPAN&gt;pointRight&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Y&lt;/SPAN&gt; - &lt;SPAN&gt;pointLeft&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Y&lt;/SPAN&gt;) / 2
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;textX&lt;/SPAN&gt; = &lt;SPAN&gt;_view&lt;/SPAN&gt;.&lt;SPAN&gt;Position&lt;/SPAN&gt;.&lt;SPAN&gt;X&lt;/SPAN&gt; - &lt;SPAN&gt;_view&lt;/SPAN&gt;.&lt;SPAN&gt;Width&lt;/SPAN&gt; / 2 - &lt;SPAN&gt;distanceFromView&lt;/SPAN&gt;

        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;pointText&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;textX&lt;/SPAN&gt;, &lt;SPAN&gt;textY&lt;/SPAN&gt;)
        &lt;SPAN&gt;_sheet&lt;/SPAN&gt;.&lt;SPAN&gt;DrawingDimensions&lt;/SPAN&gt;.&lt;SPAN&gt;GeneralDimensions&lt;/SPAN&gt;.&lt;SPAN&gt;AddLinear&lt;/SPAN&gt;(
            &lt;SPAN&gt;pointText&lt;/SPAN&gt;, &lt;SPAN&gt;pointLeft&lt;/SPAN&gt;, &lt;SPAN&gt;pointRight&lt;/SPAN&gt;, &lt;SPAN&gt;DimensionTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kVerticalDimensionType&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;CreateVerticalOuterDimension&lt;/SPAN&gt;()
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;orderedIntents&lt;/SPAN&gt; = &lt;SPAN&gt;_intents&lt;/SPAN&gt;.&lt;SPAN&gt;OrderByDescending&lt;/SPAN&gt;(&lt;SPAN&gt;Function&lt;/SPAN&gt;(&lt;SPAN&gt;s&lt;/SPAN&gt;) &lt;SPAN&gt;s&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;.&lt;SPAN&gt;Y&lt;/SPAN&gt;)

        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;pointLeft&lt;/SPAN&gt; = &lt;SPAN&gt;orderedIntents&lt;/SPAN&gt;.&lt;SPAN&gt;Last&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;pointRight&lt;/SPAN&gt; = &lt;SPAN&gt;orderedIntents&lt;/SPAN&gt;.&lt;SPAN&gt;First&lt;/SPAN&gt;

        &lt;SPAN&gt;CreateVerticalDimension&lt;/SPAN&gt;(&lt;SPAN&gt;pointLeft&lt;/SPAN&gt;, &lt;SPAN&gt;pointRight&lt;/SPAN&gt;, &lt;SPAN&gt;_firstOffset&lt;/SPAN&gt; - &lt;SPAN&gt;_offsetDimension&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;AddIntent&lt;/SPAN&gt;(&lt;SPAN&gt;Geometry&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingCurve&lt;/SPAN&gt;, &lt;SPAN&gt;IntentPlace&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Object&lt;/SPAN&gt;, &lt;SPAN&gt;onLineCheck&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt;)
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;intent&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;GeometryIntent&lt;/SPAN&gt; = &lt;SPAN&gt;_sheet&lt;/SPAN&gt;.&lt;SPAN&gt;CreateGeometryIntent&lt;/SPAN&gt;(&lt;SPAN&gt;Geometry&lt;/SPAN&gt;, &lt;SPAN&gt;IntentPlace&lt;/SPAN&gt;)
        &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;intent&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&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;Return&lt;/SPAN&gt;

        &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;onLineCheck&lt;/SPAN&gt; &lt;SPAN&gt;Then&lt;/SPAN&gt;
            &lt;SPAN&gt;If&lt;/SPAN&gt; (&lt;SPAN&gt;IntentIsOnCurve&lt;/SPAN&gt;(&lt;SPAN&gt;intent&lt;/SPAN&gt;)) &lt;SPAN&gt;Then&lt;/SPAN&gt;
                &lt;SPAN&gt;_intents&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;intent&lt;/SPAN&gt;)
            &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
        &lt;SPAN&gt;Else&lt;/SPAN&gt;
            &lt;SPAN&gt;_intents&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;intent&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;Private&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt; &lt;SPAN&gt;IntentIsOnCurve&lt;/SPAN&gt;(&lt;SPAN&gt;intent&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;GeometryIntent&lt;/SPAN&gt;) &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Boolean&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;Geometry&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingCurve&lt;/SPAN&gt; = &lt;SPAN&gt;intent&lt;/SPAN&gt;.&lt;SPAN&gt;Geometry&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;sp&lt;/SPAN&gt; = &lt;SPAN&gt;intent&lt;/SPAN&gt;.&lt;SPAN&gt;PointOnSheet&lt;/SPAN&gt;

        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;pts&lt;/SPAN&gt;(1) &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt;
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;gp&lt;/SPAN&gt;() &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = {}
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;md&lt;/SPAN&gt;() &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = {}
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;pm&lt;/SPAN&gt;() &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt; = {}
        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;st&lt;/SPAN&gt;() &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;SolutionNatureEnum&lt;/SPAN&gt; = {}
        &lt;SPAN&gt;pts&lt;/SPAN&gt;(0) = &lt;SPAN&gt;sp&lt;/SPAN&gt;.&lt;SPAN&gt;X&lt;/SPAN&gt;
        &lt;SPAN&gt;pts&lt;/SPAN&gt;(1) = &lt;SPAN&gt;sp&lt;/SPAN&gt;.&lt;SPAN&gt;Y&lt;/SPAN&gt;

        &lt;SPAN&gt;Try&lt;/SPAN&gt;
            &lt;SPAN&gt;Geometry&lt;/SPAN&gt;.&lt;SPAN&gt;Evaluator2D&lt;/SPAN&gt;.&lt;SPAN&gt;GetParamAtPoint&lt;/SPAN&gt;(&lt;SPAN&gt;pts&lt;/SPAN&gt;, &lt;SPAN&gt;gp&lt;/SPAN&gt;, &lt;SPAN&gt;md&lt;/SPAN&gt;, &lt;SPAN&gt;pm&lt;/SPAN&gt;, &lt;SPAN&gt;st&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;Return&lt;/SPAN&gt; &lt;SPAN&gt;False&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;True&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;CreateIntentList&lt;/SPAN&gt;()

	
		
		
        &lt;SPAN&gt;For&lt;/SPAN&gt; &lt;SPAN&gt;Each&lt;/SPAN&gt; &lt;SPAN&gt;drawingCurve&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingCurve&lt;/SPAN&gt; &lt;SPAN&gt;In&lt;/SPAN&gt; &lt;SPAN&gt;_view&lt;/SPAN&gt;.&lt;SPAN&gt;DrawingCurves&lt;/SPAN&gt;
            
		
			&lt;SPAN&gt;Select&lt;/SPAN&gt; &lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;DrawingCurve&lt;/SPAN&gt;.&lt;SPAN&gt;ProjectedCurveType&lt;/SPAN&gt;
                &lt;SPAN&gt;Case&lt;/SPAN&gt; _
                        &lt;SPAN&gt;Curve2dTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kCircleCurve2d&lt;/SPAN&gt;,
                        &lt;SPAN&gt;Curve2dTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kCircularArcCurve2d&lt;/SPAN&gt;,
                        &lt;SPAN&gt;Curve2dTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kEllipseFullCurve2d&lt;/SPAN&gt;,
                        &lt;SPAN&gt;Curve2dTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kEllipticalArcCurve2d&lt;/SPAN&gt;
						


                    &lt;SPAN&gt;AddIntent&lt;/SPAN&gt;(&lt;SPAN&gt;DrawingCurve&lt;/SPAN&gt;, &lt;SPAN&gt;PointIntentEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kCircularTopPointIntent&lt;/SPAN&gt;, &lt;SPAN&gt;True&lt;/SPAN&gt;)
                    &lt;SPAN&gt;AddIntent&lt;/SPAN&gt;(&lt;SPAN&gt;DrawingCurve&lt;/SPAN&gt;, &lt;SPAN&gt;PointIntentEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kCircularBottomPointIntent&lt;/SPAN&gt;, &lt;SPAN&gt;True&lt;/SPAN&gt;)
                    &lt;SPAN&gt;AddIntent&lt;/SPAN&gt;(&lt;SPAN&gt;DrawingCurve&lt;/SPAN&gt;, &lt;SPAN&gt;PointIntentEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kCircularLeftPointIntent&lt;/SPAN&gt;, &lt;SPAN&gt;True&lt;/SPAN&gt;)
                    &lt;SPAN&gt;AddIntent&lt;/SPAN&gt;(&lt;SPAN&gt;DrawingCurve&lt;/SPAN&gt;, &lt;SPAN&gt;PointIntentEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kCircularRightPointIntent&lt;/SPAN&gt;, &lt;SPAN&gt;True&lt;/SPAN&gt;)
					

                    &lt;SPAN&gt;AddIntent&lt;/SPAN&gt;(&lt;SPAN&gt;DrawingCurve&lt;/SPAN&gt;, &lt;SPAN&gt;PointIntentEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kEndPointIntent&lt;/SPAN&gt;, &lt;SPAN&gt;False&lt;/SPAN&gt;)
                    &lt;SPAN&gt;AddIntent&lt;/SPAN&gt;(&lt;SPAN&gt;DrawingCurve&lt;/SPAN&gt;, &lt;SPAN&gt;PointIntentEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kStartPointIntent&lt;/SPAN&gt;, &lt;SPAN&gt;False&lt;/SPAN&gt;)

                    &lt;SPAN&gt;If&lt;/SPAN&gt; (&lt;SPAN&gt;DrawingCurve&lt;/SPAN&gt;.&lt;SPAN&gt;ProjectedCurveType&lt;/SPAN&gt; = &lt;SPAN&gt;Curve2dTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kCircleCurve2d&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt;
                        &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;intent&lt;/SPAN&gt; = &lt;SPAN&gt;_sheet&lt;/SPAN&gt;.&lt;SPAN&gt;CreateGeometryIntent&lt;/SPAN&gt;(&lt;SPAN&gt;DrawingCurve&lt;/SPAN&gt;, &lt;SPAN&gt;PointIntentEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kCenterPointIntent&lt;/SPAN&gt;)
                        &lt;SPAN&gt;_centerPointIntents&lt;/SPAN&gt;.&lt;SPAN&gt;Add&lt;/SPAN&gt;(&lt;SPAN&gt;intent&lt;/SPAN&gt;)
                    &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
                &lt;SPAN&gt;Case&lt;/SPAN&gt; _
                        &lt;SPAN&gt;Curve2dTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kLineCurve2d&lt;/SPAN&gt;,
                        &lt;SPAN&gt;Curve2dTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kLineSegmentCurve2d&lt;/SPAN&gt;

                    &lt;SPAN&gt;AddIntent&lt;/SPAN&gt;(&lt;SPAN&gt;DrawingCurve&lt;/SPAN&gt;, &lt;SPAN&gt;PointIntentEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kEndPointIntent&lt;/SPAN&gt;, &lt;SPAN&gt;False&lt;/SPAN&gt;)
                    &lt;SPAN&gt;AddIntent&lt;/SPAN&gt;(&lt;SPAN&gt;DrawingCurve&lt;/SPAN&gt;, &lt;SPAN&gt;PointIntentEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kStartPointIntent&lt;/SPAN&gt;, &lt;SPAN&gt;False&lt;/SPAN&gt;)

                &lt;SPAN&gt;Case&lt;/SPAN&gt; _
                    &lt;SPAN&gt;Curve2dTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kPolylineCurve2d&lt;/SPAN&gt;,
                    &lt;SPAN&gt;Curve2dTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kBSplineCurve2d&lt;/SPAN&gt;,
                    &lt;SPAN&gt;Curve2dTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kUnknownCurve2d&lt;/SPAN&gt;

                    &lt;SPAN&gt;' Unhandled curves types&lt;/SPAN&gt;
                &lt;SPAN&gt;Case&lt;/SPAN&gt; &lt;SPAN&gt;Else&lt;/SPAN&gt;
					
            &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Select&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;Sub&lt;/SPAN&gt; &lt;SPAN&gt;AddDiameterDimensionToCircles&lt;/SPAN&gt;()
    &lt;SPAN&gt;If&lt;/SPAN&gt; &lt;SPAN&gt;_intents&lt;/SPAN&gt;.&lt;SPAN&gt;Count&lt;/SPAN&gt; = 0 &lt;SPAN&gt;Then&lt;/SPAN&gt;
        &lt;SPAN&gt;Exit&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
    &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;

    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;intent&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;GeometryIntent&lt;/SPAN&gt; = &lt;SPAN&gt;_intents&lt;/SPAN&gt;.&lt;SPAN&gt;Item&lt;/SPAN&gt;(0)
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;geo&lt;/SPAN&gt; = &lt;SPAN&gt;intent&lt;/SPAN&gt;.&lt;SPAN&gt;Geometry&lt;/SPAN&gt;
    &lt;SPAN&gt;If&lt;/SPAN&gt; (&lt;SPAN&gt;geo&lt;/SPAN&gt;.&lt;SPAN&gt;type&lt;/SPAN&gt; &amp;lt;&amp;gt; &lt;SPAN&gt;ObjectTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kDrawingCurveObject&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt;
        &lt;SPAN&gt;Exit&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
    &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;curve&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;DrawingCurve&lt;/SPAN&gt; = &lt;SPAN&gt;geo&lt;/SPAN&gt;
    &lt;SPAN&gt;If&lt;/SPAN&gt; (&lt;SPAN&gt;curve&lt;/SPAN&gt;.&lt;SPAN&gt;ProjectedCurveType&lt;/SPAN&gt; &amp;lt;&amp;gt; &lt;SPAN&gt;Curve2dTypeEnum&lt;/SPAN&gt;.&lt;SPAN&gt;kCircleCurve2d&lt;/SPAN&gt;) &lt;SPAN&gt;Then&lt;/SPAN&gt;
        &lt;SPAN&gt;Exit&lt;/SPAN&gt; &lt;SPAN&gt;Sub&lt;/SPAN&gt;
    &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;If&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;rangeBox&lt;/SPAN&gt; = &lt;SPAN&gt;curve&lt;/SPAN&gt;.&lt;SPAN&gt;Evaluator2D&lt;/SPAN&gt;.&lt;SPAN&gt;RangeBox&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;radius&lt;/SPAN&gt; = (&lt;SPAN&gt;rangeBox&lt;/SPAN&gt;.&lt;SPAN&gt;MaxPoint&lt;/SPAN&gt;.&lt;SPAN&gt;X&lt;/SPAN&gt; - &lt;SPAN&gt;rangeBox&lt;/SPAN&gt;.&lt;SPAN&gt;MinPoint&lt;/SPAN&gt;.&lt;SPAN&gt;X&lt;/SPAN&gt;) / 2
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;x&lt;/SPAN&gt; = &lt;SPAN&gt;curve&lt;/SPAN&gt;.&lt;SPAN&gt;CenterPoint&lt;/SPAN&gt;.&lt;SPAN&gt;X&lt;/SPAN&gt; + &lt;SPAN&gt;radius&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;y&lt;/SPAN&gt; = &lt;SPAN&gt;curve&lt;/SPAN&gt;.&lt;SPAN&gt;CenterPoint&lt;/SPAN&gt;.&lt;SPAN&gt;Y&lt;/SPAN&gt; + &lt;SPAN&gt;radius&lt;/SPAN&gt;
    &lt;SPAN&gt;Dim&lt;/SPAN&gt; &lt;SPAN&gt;textPoint&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;x&lt;/SPAN&gt;, &lt;SPAN&gt;y&lt;/SPAN&gt;)
    &lt;SPAN&gt;_sheet&lt;/SPAN&gt;.&lt;SPAN&gt;DrawingDimensions&lt;/SPAN&gt;.&lt;SPAN&gt;GeneralDimensions&lt;/SPAN&gt;.&lt;SPAN&gt;AddDiameter&lt;/SPAN&gt;(&lt;SPAN&gt;textPoint&lt;/SPAN&gt;, &lt;SPAN&gt;intent&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;AreEqual&lt;/SPAN&gt;(&lt;SPAN&gt;d1&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt;, &lt;SPAN&gt;d2&lt;/SPAN&gt; &lt;SPAN&gt;As&lt;/SPAN&gt; &lt;SPAN&gt;Double&lt;/SPAN&gt;)
        &lt;SPAN&gt;Return&lt;/SPAN&gt; (&lt;SPAN&gt;Math&lt;/SPAN&gt;.&lt;SPAN&gt;Abs&lt;/SPAN&gt;(&lt;SPAN&gt;d1&lt;/SPAN&gt; - &lt;SPAN&gt;d2&lt;/SPAN&gt;) &amp;lt; 0.000001)
    &lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Function&lt;/SPAN&gt;

    &lt;SPAN&gt;' Copyright 2021&lt;/SPAN&gt;
    &lt;SPAN&gt;' &lt;/SPAN&gt;
    &lt;SPAN&gt;' This code was written by Jelte de Jong, and published on www.hjalte.nl&lt;/SPAN&gt;
    &lt;SPAN&gt;'&lt;/SPAN&gt;
    &lt;SPAN&gt;' Permission Is hereby granted, free of charge, to any person obtaining a copy of this &lt;/SPAN&gt;
    &lt;SPAN&gt;' software And associated documentation files (the "Software"), to deal in the Software &lt;/SPAN&gt;
    &lt;SPAN&gt;' without restriction, including without limitation the rights to use, copy, modify, merge, &lt;/SPAN&gt;
    &lt;SPAN&gt;' publish, distribute, sublicense, And/Or sell copies of the Software, And to permit persons &lt;/SPAN&gt;
    &lt;SPAN&gt;' to whom the Software Is furnished to do so, subject to the following conditions:&lt;/SPAN&gt;
    &lt;SPAN&gt;'&lt;/SPAN&gt;
    &lt;SPAN&gt;' The above copyright notice And this permission notice shall be included In all copies Or&lt;/SPAN&gt;
    &lt;SPAN&gt;' substantial portions Of the Software.&lt;/SPAN&gt;
    &lt;SPAN&gt;' &lt;/SPAN&gt;
    &lt;SPAN&gt;' THE SOFTWARE Is PROVIDED "AS IS", WITHOUT WARRANTY Of ANY KIND, EXPRESS Or IMPLIED, &lt;/SPAN&gt;
    &lt;SPAN&gt;' INCLUDING BUT Not LIMITED To THE WARRANTIES Of MERCHANTABILITY, FITNESS For A PARTICULAR &lt;/SPAN&gt;
    &lt;SPAN&gt;' PURPOSE And NONINFRINGEMENT. In NO Event SHALL THE AUTHORS Or COPYRIGHT HOLDERS BE LIABLE &lt;/SPAN&gt;
    &lt;SPAN&gt;' For ANY CLAIM, DAMAGES Or OTHER LIABILITY, WHETHER In AN ACTION Of CONTRACT, TORT Or &lt;/SPAN&gt;
    &lt;SPAN&gt;' OTHERWISE, ARISING FROM, OUT Of Or In CONNECTION With THE SOFTWARE Or THE USE Or OTHER &lt;/SPAN&gt;
    &lt;SPAN&gt;' DEALINGS In THE SOFTWARE.&lt;/SPAN&gt;
&lt;SPAN&gt;End&lt;/SPAN&gt; &lt;SPAN&gt;Class&lt;/SPAN&gt;
&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 21 Jun 2023 14:06:59 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/adding-dimensions-automaticly-rule-not-working-properly/m-p/12050309#M154299</guid>
      <dc:creator>michielXWZ7U</dc:creator>
      <dc:date>2023-06-21T14:06:59Z</dc:date>
    </item>
    <item>
      <title>Re: adding dimensions automaticly - Rule not working properly</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/adding-dimensions-automaticly-rule-not-working-properly/m-p/12050790#M154310</link>
      <description>&lt;P&gt;The issue is that your code starts a &lt;A href="https://adndevblog.typepad.com/manufacturing/2012/07/how-nested-transactions-undo-and-abort-work-in-inventor.html" target="_blank" rel="noopener"&gt;transaction&lt;/A&gt;, but never finishes it. Change your Sub main() to the following and the issue should go away.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="visual-basic"&gt;    Sub main()
		
	
	
	 _doc = ThisDoc.Document
        _sheet = _doc.ActiveSheet
        _view = ThisApplication.CommandManager.Pick(
                       SelectionFilterEnum.kDrawingViewFilter,
                       "Select a drawing view")
        'Start the transaction
        Dim oTransaction As Transaction = ThisApplication.TransactionManager.StartTransaction(_doc, "Generate dimensions")
        CreateIntentList()

        ' Comment out features that you dont want/need!
        CreateHorizontalDimensions()
        CreateVerticalDimensions()
        'CreateMarks()
        AddDiameterDimensionToCircles()
        ' createHorizontalOuterDimension()
        ' createVerticalOuterDimension()


	i += 1
        
         'End the transaction
         oTransaction.End()
	
    End Sub&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 21 Jun 2023 16:29:50 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/adding-dimensions-automaticly-rule-not-working-properly/m-p/12050790#M154310</guid>
      <dc:creator>abdullah_elq</dc:creator>
      <dc:date>2023-06-21T16:29:50Z</dc:date>
    </item>
    <item>
      <title>Re: adding dimensions automaticly - Rule not working properly</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/adding-dimensions-automaticly-rule-not-working-properly/m-p/12052578#M154338</link>
      <description>&lt;P&gt;S/O to you my friend &lt;img class="lia-deferred-image lia-image-emoji" src="https://forums.autodesk.com/html/@377C6E8841662F0D033F1059D481E250/emoticons/2764.png" alt=":red_heart:" title=":red_heart:" /&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 22 Jun 2023 10:18:03 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/adding-dimensions-automaticly-rule-not-working-properly/m-p/12052578#M154338</guid>
      <dc:creator>michielXWZ7U</dc:creator>
      <dc:date>2023-06-22T10:18:03Z</dc:date>
    </item>
  </channel>
</rss>

