<?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: fatal error on selectwindowpolygon in .NET Forum</title>
    <link>https://forums.autodesk.com/t5/net-forum/fatal-error-on-selectwindowpolygon/m-p/3093590#M60136</link>
    <description>&lt;P&gt;In agreement with Norman, I would suggest a fail safe in your code:&lt;/P&gt;&lt;P&gt;dim pline as polyline&lt;/P&gt;&lt;P&gt;dim ent as entitiy = trans.getobject(selectedobject.objectid,openmode.forread)&lt;/P&gt;&lt;P&gt;'use the if typeof line to test the object that was selected...&lt;/P&gt;&lt;P&gt;if typeof ent is AutoDesk.AutoCAD.DatabaseServices.Polyline then&lt;/P&gt;&lt;P&gt;pline = ent&lt;/P&gt;&lt;P&gt;end if&lt;/P&gt;</description>
    <pubDate>Fri, 15 Jul 2011 18:24:48 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2011-07-15T18:24:48Z</dc:date>
    <item>
      <title>fatal error on selectwindowpolygon</title>
      <link>https://forums.autodesk.com/t5/net-forum/fatal-error-on-selectwindowpolygon/m-p/3092660#M60134</link>
      <description>&lt;P&gt;I try to select an polyline (with always 4 corners).&lt;/P&gt;&lt;P&gt;Then I need to select everything within the polyline.&lt;/P&gt;&lt;P&gt;So far so good.&lt;/P&gt;&lt;P&gt;But when i try to access the selectionset i get an fatal error.&lt;/P&gt;&lt;P&gt;I don't no how to solve it.&lt;/P&gt;&lt;P&gt;I hope that someone can help me.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Greetings Jacco&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Sub CrossingPolygonSelect()&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim acCurDb As Database = acDoc.Database&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim acDocEd As Editor = acDoc.Editor&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim prObjectOptions As PromptEntityOptions = New PromptEntityOptions("Selecteer het aan te sluiten profiel : ")&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pt As Object&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prObjectOptions.SetRejectMessage(vbLf + "Je moet een profiel selecteren" + vbLf)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prObjectOptions.AllowNone = False&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pt = acDocEd.GetEntity(prObjectOptions)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If pt.Status &amp;lt;&amp;gt; PromptStatus.OK Then Exit Sub&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim prof1 As ObjectId = pt.objectid&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Using acTrans As Transaction = acCurDb.TransactionManager.StartTransaction()&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim ent0 As Polyline2d = acTrans.GetObject(prof1, OpenMode.ForRead)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim acPts3d As Point3dCollection = New Point3dCollection()&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pt0 As Point3d&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pt0 = ent0.GetPointAtParameter(0)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; acPts3d.Add(pt0)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pt0 = ent0.GetPointAtParameter(1)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; acPts3d.Add(pt0)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pt0 = ent0.GetPointAtParameter(2)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; acPts3d.Add(pt0)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pt0 = ent0.GetPointAtParameter(3)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; acPts3d.Add(pt0)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim sres As PromptSelectionResult = acDocEd.SelectWindowPolygon(acPts3d) ', filter)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim acSSet As SelectionSet&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; acSSet = sres.Value&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For Each acSSObj As SelectedObject In acSSet&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox(acSSObj.ObjectId)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; acTrans.Commit()&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Using&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;/P&gt;&lt;P&gt;﻿&lt;/P&gt;</description>
      <pubDate>Fri, 15 Jul 2011 08:10:36 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/fatal-error-on-selectwindowpolygon/m-p/3092660#M60134</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2011-07-15T08:10:36Z</dc:date>
    </item>
    <item>
      <title>Re: fatal error on selectwindowpolygon</title>
      <link>https://forums.autodesk.com/t5/net-forum/fatal-error-on-selectwindowpolygon/m-p/3093154#M60135</link>
      <description>&lt;P&gt;When you say "So far so good", how far the code goes until it is not good? Have you done debugging line by line/with break point? This way you can easily tell which line of code does the bad thing.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Just from your code without see the drawing, it i shard to tell what is wrong. But if I have to guess, it could be this line:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Dim ent0 As Polyline2d = acTrans.GetObject(prof1, OpenMode.ForRead)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Are you sure the picked polyline is Polyline2d, not Polyline? Polyline in .NET API is equivalent to AcadLWPolyline in VBA, which is used to replace old AutoCAD polylne (Polyline2d in .NET API)&amp;nbsp;years ago. That is, Polyline2d/AcadPolyline only exists for backward compatibility since many versions of AutoCAD back (R13/13/14? I cannot remember). So, the picked polyline should be either Polyline or Polyline3d (in .NET API).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 15 Jul 2011 14:41:18 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/fatal-error-on-selectwindowpolygon/m-p/3093154#M60135</guid>
      <dc:creator>norman.yuan</dc:creator>
      <dc:date>2011-07-15T14:41:18Z</dc:date>
    </item>
    <item>
      <title>Re: fatal error on selectwindowpolygon</title>
      <link>https://forums.autodesk.com/t5/net-forum/fatal-error-on-selectwindowpolygon/m-p/3093590#M60136</link>
      <description>&lt;P&gt;In agreement with Norman, I would suggest a fail safe in your code:&lt;/P&gt;&lt;P&gt;dim pline as polyline&lt;/P&gt;&lt;P&gt;dim ent as entitiy = trans.getobject(selectedobject.objectid,openmode.forread)&lt;/P&gt;&lt;P&gt;'use the if typeof line to test the object that was selected...&lt;/P&gt;&lt;P&gt;if typeof ent is AutoDesk.AutoCAD.DatabaseServices.Polyline then&lt;/P&gt;&lt;P&gt;pline = ent&lt;/P&gt;&lt;P&gt;end if&lt;/P&gt;</description>
      <pubDate>Fri, 15 Jul 2011 18:24:48 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/fatal-error-on-selectwindowpolygon/m-p/3093590#M60136</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2011-07-15T18:24:48Z</dc:date>
    </item>
    <item>
      <title>Re: fatal error on selectwindowpolygon</title>
      <link>https://forums.autodesk.com/t5/net-forum/fatal-error-on-selectwindowpolygon/m-p/3094082#M60137</link>
      <description>&lt;P&gt;Try this code&lt;/P&gt;&lt;P&gt;I think you have to add Try..Catch to easier search for a problem&lt;/P&gt;&lt;P&gt;code line&lt;/P&gt;&lt;PRE&gt;        Public Sub WindowPolygonSelect()

            Dim doc As Document = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument

            Dim db As Database = doc.Database

            Dim ed As Editor = doc.Editor

            Dim pso As PromptEntityOptions = New PromptEntityOptions(vbLf &amp;amp; "Select a contour : ")

            Dim res As PromptEntityResult

            pso.SetRejectMessage(vbLf &amp;amp; "You must select a polyline only" &amp;amp; vbLf)

            pso.AllowNone = False

            res = ed.GetEntity(pso)

            If res.Status &amp;lt;&amp;gt; PromptStatus.OK Then Exit Sub

            Dim id As ObjectId = res.ObjectId

            Using tr As Transaction = db.TransactionManager.StartTransaction()

                Dim ent As Polyline = TryCast(tr.GetObject(id, OpenMode.ForRead), Polyline)

                Dim pts As Point3dCollection = New Point3dCollection()

                Dim p As Point3d

                Dim i As Integer = 0

                For i = 0 To ent.NumberOfVertices - 1

                    p = ent.GetPoint3dAt(i)

                    pts.Add(p)

                Next

                Dim sres As PromptSelectionResult = ed.SelectWindowPolygon(pts) ', filter)

                Dim ss As SelectionSet

                ss = sres.Value

                For Each ssobj As SelectedObject In ss

                    Dim obj As Entity = DirectCast(tr.GetObject(ssobj.ObjectId, OpenMode.ForRead), Entity)

                    ed.WriteMessage(vbLf &amp;amp; "{0}" &amp;amp; vbTab &amp;amp; "{1}", obj.ObjectId, obj.GetRXClass().Name)

                Next

                tr.Commit()

            End Using

        End Sub&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 17 Jul 2011 07:19:07 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/fatal-error-on-selectwindowpolygon/m-p/3094082#M60137</guid>
      <dc:creator>Hallex</dc:creator>
      <dc:date>2011-07-17T07:19:07Z</dc:date>
    </item>
  </channel>
</rss>

