<?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: Model leader note annotation point collection in Inventor Programming - iLogic, Macros, AddIns &amp; Apprentice</title>
    <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/model-leader-note-annotation-point-collection/m-p/12537701#M163339</link>
    <description>&lt;P&gt;According to my understanding of the &lt;A href="https://help.autodesk.com/view/INVNTOR/2022/ENU/?guid=ModelLeaderNotes_CreateDefinition" target="_blank" rel="noopener"&gt;ModelLeaderNotes.CreateDefinition Method&lt;/A&gt;&amp;nbsp;only the last item in the collection (even if it is the only item) can be a GeometryIntent object. The rest should be Point objects.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Let me know if that works for you.&lt;/P&gt;</description>
    <pubDate>Fri, 02 Feb 2024 23:31:38 GMT</pubDate>
    <dc:creator>abdullah_elq</dc:creator>
    <dc:date>2024-02-02T23:31:38Z</dc:date>
    <item>
      <title>Model leader note annotation point collection</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/model-leader-note-annotation-point-collection/m-p/12534870#M163280</link>
      <description>&lt;P&gt;Hello friends!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I don't undarstand, why this code doesnt work.&lt;/P&gt;&lt;P&gt;I catch Argument Exception in&amp;nbsp;.ModelLeaderNotes.CreateDefinition method.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If "ObjectCollection objects" has one point - it works, if it has more points - not works..&lt;/P&gt;&lt;P&gt;All points&amp;nbsp;lie on the same plane. Documentation says thet Inventor project this points on the plane.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;public void CreateTechNumberAnnotation(DependencyObjects DO, ComponentOccurrence occ)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; &amp;nbsp; AssemblyComponentDefinition topCompDef = occ.Parent;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; WorkPlane workPlane;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; WorkPoints workPoints;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; if (occ.ReferencedFileDescriptor.FullFileName.EndsWith("iam"))&lt;BR /&gt;&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; workPoints = ( (AssemblyDocument)occ.Definition.Document ).ComponentDefinition.WorkPoints;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;&amp;nbsp; &amp;nbsp; else&lt;BR /&gt;&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; workPoints = ( (PartDocument)occ.Definition.Document ).ComponentDefinition.WorkPoints;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; //occ original point&lt;BR /&gt;&amp;nbsp; &amp;nbsp; occ.CreateGeometryProxy(workPoints[1], out object temp);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; var workPointProxy = (WorkPointProxy)temp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; GeometryIntent intentRoot = topCompDef.CreateGeometryIntent(workPointProxy);&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;//occ last point&lt;BR /&gt;&amp;nbsp; &amp;nbsp; Point endPoint = DO.TG.CreatePoint(workPoints[1].Point.X + 10, workPoints[1].Point.Y + 10, workPoints[1].Point.Z);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; workPoints.AddFixed(endPoint);&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; endPoint = DO.TG.CreatePoint(workPoints[workPoints.Count].Point.X, workPoints[workPoints.Count].Point.Z,&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; workPoints[workPoints.Count].Point.Z);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; workPoints.AddFixed(endPoint);&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; occ.Definition.Document.Update2();&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; occ.CreateGeometryProxy(workPoints[workPoints.Count - 1], out temp);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; var workPointProxyText = (WorkPointProxy)temp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; GeometryIntent intentText = topCompDef.CreateGeometryIntent(workPointProxyText);&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; occ.CreateGeometryProxy(workPoints[workPoints.Count], out temp);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; var workPointProxyTextEnd = (WorkPointProxy)temp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; GeometryIntent intentTextEnd = topCompDef.CreateGeometryIntent(workPointProxyTextEnd);&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; workPlane = topCompDef.WorkPlanes[3];&lt;BR /&gt;&amp;nbsp; &amp;nbsp; AnnotationPlaneDefinition annotationPlaneDef =&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;topCompDef.ModelAnnotations.CreateAnnotationPlaneDefinitionUsingPlane(workPlane);&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; ObjectCollection objects = DO.InvApp.TransientObjects.CreateObjectCollection();&lt;BR /&gt;&amp;nbsp; &amp;nbsp; objects.Add(intentTextEnd);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; objects.Add(intentText);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; objects.Add(intentRoot);&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; ModelLeaderNoteDefinition leaderDef = topCompDef.ModelAnnotations.ModelLeaderNotes.CreateDefinition(objects, "Text", annotationPlaneDef);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; topCompDef.ModelAnnotations.ModelLeaderNotes.Add(leaderDef);&lt;BR /&gt;}&lt;/P&gt;</description>
      <pubDate>Thu, 01 Feb 2024 17:29:34 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/model-leader-note-annotation-point-collection/m-p/12534870#M163280</guid>
      <dc:creator>wmgshurik</dc:creator>
      <dc:date>2024-02-01T17:29:34Z</dc:date>
    </item>
    <item>
      <title>Re: Model leader note annotation point collection</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/model-leader-note-annotation-point-collection/m-p/12537701#M163339</link>
      <description>&lt;P&gt;According to my understanding of the &lt;A href="https://help.autodesk.com/view/INVNTOR/2022/ENU/?guid=ModelLeaderNotes_CreateDefinition" target="_blank" rel="noopener"&gt;ModelLeaderNotes.CreateDefinition Method&lt;/A&gt;&amp;nbsp;only the last item in the collection (even if it is the only item) can be a GeometryIntent object. The rest should be Point objects.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Let me know if that works for you.&lt;/P&gt;</description>
      <pubDate>Fri, 02 Feb 2024 23:31:38 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/model-leader-note-annotation-point-collection/m-p/12537701#M163339</guid>
      <dc:creator>abdullah_elq</dc:creator>
      <dc:date>2024-02-02T23:31:38Z</dc:date>
    </item>
    <item>
      <title>Re: Model leader note annotation point collection</title>
      <link>https://forums.autodesk.com/t5/inventor-programming-ilogic/model-leader-note-annotation-point-collection/m-p/12539640#M163358</link>
      <description>&lt;P&gt;You are absolutely correct!&lt;/P&gt;&lt;P&gt;Thank you very much!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;That is the code&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;public void CreateTechNumberAnnotation(ComponentOccurrence occ, string techNumber)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; &amp;nbsp; if (techNumber == string.Empty) { return; }&lt;BR /&gt;&amp;nbsp; &amp;nbsp; AssemblyComponentDefinition topCompDef = occ.Parent;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; Application invApp = occ.Application;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; TransientGeometry tg = invApp.TransientGeometry;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; WorkPoints workPoints;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; if (occ.ReferencedFileDescriptor.FullFileName.EndsWith("iam"))&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; workPoints = ( (AssemblyDocument)occ.Definition.Document ).ComponentDefinition.WorkPoints;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; else&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; workPoints = ( (PartDocument)occ.Definition.Document ).ComponentDefinition.WorkPoints;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; //occ original point&lt;BR /&gt;&amp;nbsp; &amp;nbsp; occ.CreateGeometryProxy(workPoints[1], out object temp);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; var workPointProxy = (WorkPointProxy)temp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; GeometryIntent intentRoot = topCompDef.CreateGeometryIntent(workPointProxy);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; //text point&lt;BR /&gt;&amp;nbsp; &amp;nbsp; Matrix rootPosition = occ.Transformation;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; double textX = rootPosition.Cell[1, 4] + 30;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; double textY = rootPosition.Cell[2, 4] + 30;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; double textZ = rootPosition.Cell[3, 4];&lt;BR /&gt;&amp;nbsp; &amp;nbsp; Point endPoint = tg.CreatePoint(textX, textY, textZ);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; //annotation plane will parallel to front view&lt;BR /&gt;&amp;nbsp; &amp;nbsp; WorkPlane workPlane = topCompDef.WorkPlanes[3];&lt;BR /&gt;&amp;nbsp; &amp;nbsp; AnnotationPlaneDefinition annotationPlaneDef = topCompDef.ModelAnnotations.CreateAnnotationPlaneDefinitionUsingPlane(workPlane);&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; ObjectCollection objects = invApp.TransientObjects.CreateObjectCollection();&lt;BR /&gt;&amp;nbsp; &amp;nbsp; objects.Add(endPoint);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; objects.Add(intentRoot);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; ModelLeaderNoteDefinition leaderDef =&amp;nbsp; topCompDef.ModelAnnotations.ModelLeaderNotes.CreateDefinition(objects, techNumber, annotationPlaneDef);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; ModelLeaderNote modelLeaderNote = topCompDef.ModelAnnotations.ModelLeaderNotes.Add(leaderDef);&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; string name = techNumber + $"___suff{DateTime.Now:ffff}";&amp;nbsp;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; modelLeaderNote.Name = name;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 04 Feb 2024 17:11:31 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/inventor-programming-ilogic/model-leader-note-annotation-point-collection/m-p/12539640#M163358</guid>
      <dc:creator>wmgshurik</dc:creator>
      <dc:date>2024-02-04T17:11:31Z</dc:date>
    </item>
  </channel>
</rss>

