<?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: Civil 3D 2013 Net CogoPointCollection in Civil 3D Customization Forum</title>
    <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863347#M18846</link>
    <description>&lt;P&gt;OK, not sure why I didn't think of this before. When manipulating the drawing's database from inside a Modeless dialog you must Lock the Document. Again, this is easiest done with a Using block. I removed the m_trans DIm from above then modified the code like so and it works without crashing:&lt;/P&gt;
&lt;PRE&gt;        Using doclock As DocumentLock = docCol.MdiActiveDocument.LockDocument()

            Using m_trans As Transaction = m_Database.TransactionManager.StartTransaction()

                'Set oAlignment
                For Each ObjId As ObjectId In oAlignments
                    oAlignment = m_trans.GetObject(ObjId, OpenMode.ForRead)
                    If oAlignment.Name = ComboBox_ALIGN.Text Then
                        b = True
                        Exit For
                    End If
                Next

                If b = False Then
                    MsgBox("Alignment not defined.", MsgBoxStyle.Exclamation)
                    Exit Sub
                End If

                'Set oProfile or b2D_Comps
                If ComboBox_Profiles.Text = "" Then
                    s = "Profile NOT Set." + vbCrLf + "Points are 2D?"
                    Dim Answer As MsgBoxResult = MsgBox(s, MsgBoxStyle.YesNo)
                    If Answer = MsgBoxResult.Yes Then
                        b2D_Comps = True
                    Else
                        Exit Sub
                    End If
                Else
                    b = False
                    Dim oProfiles As ObjectIdCollection
                    oProfiles = oAlignment.GetProfileIds
                    For Each ObjIdPro As ObjectId In oProfiles
                        oProfile = m_trans.GetObject(ObjIdPro, OpenMode.ForRead)
                        If oProfile.Name = ComboBox_Profiles.Text Then
                            b = True
                            Exit For
                        End If
                    Next
                End If

                'Left side comps
                If RadioButton_L.Checked = True Or RadioButton_B.Checked = True Then

                    Dim dOffsetL As Double
                    dOffsetL = dOffset * (-1)

                    For Each row In DataGridView_STAOFF.Rows
                        dSta = Double.Parse(row.Cells(0).Value)
                        sRawSta = row.Cells(1).Value
                        If RadioButton_B.Checked = True Then
                            sRawSta = sRawSta.Replace("L_R", "L")
                        End If

                        oAlignment.PointLocation(dSta, dOffsetL, Easting, Northing)

                        If b2D_Comps = True Then
                            Elevation = 0
                        Else
                            Elevation = oProfile.ElevationAt(dSta) + dElevMod
                        End If

                        Dim CompPt As New Point3d(Easting, Northing, Elevation)
                        'CompPt is valid!

                        'MsgBox(CompPt.X)
                        'MsgBox(CompPt.Y)
                        'MsgBox(CompPt.Z)

                        Dim i As Integer = CogoPoints.Count
                        MsgBox(i)

                        'Dim pointId As ObjectId = cgPoints.Add(CompPt, sRawSta)
                        'Dim pointId As ObjectId = CogoPoints.Add(CompPt) '**************************Doesn't like it!

                        Try
                            CogoPoints.Add(CompPt)
                        Catch ex As System.Exception
                            MsgBox(ex.Message)
                        End Try
                        MsgBox("Test")

                        'Dim cogoPoint As CogoPoint = TryCast(pointId.GetObject(OpenMode.ForWrite), CogoPoint)
                        'cogoPoint.RawDescription = sRawSta


                    Next
                End If 'Left side comps
                m_trans.Commit()
            End Using ''disposes Transaction
        End Using ''disposes DocumentLock
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 12 Apr 2013 18:31:21 GMT</pubDate>
    <dc:creator>Jeff_M</dc:creator>
    <dc:date>2013-04-12T18:31:21Z</dc:date>
    <item>
      <title>Civil 3D 2013 Net CogoPointCollection</title>
      <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3862954#M18835</link>
      <description>&lt;P&gt;Okay so what am I'm doing wrong.&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim CompPt As New Point3d(Easting, Northing, Elevation) 'Easting, Northing, Elevation declared as Double&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(CompPt.X) 'Valid Message&lt;BR /&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(CompPt.Y) 'Valid Message&lt;BR /&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(CompPt.Z) 'Valid Message&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim i As Integer = CogoPoints.Count&lt;BR /&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(i) 'Yes that's how many points i.e. confirms link to collection.&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pointId As ObjectId = CogoPoints.Add(CompPt) ' ***** CRASH!!! *******&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help whatsoever would be appreciated.&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Civil 3D 2013 SP1&lt;/P&gt;&lt;P&gt;Win7&lt;/P&gt;</description>
      <pubDate>Fri, 12 Apr 2013 14:43:36 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3862954#M18835</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-04-12T14:43:36Z</dc:date>
    </item>
    <item>
      <title>Re: Civil 3D 2013 Net CogoPointCollection</title>
      <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863004#M18836</link>
      <description>&lt;P&gt;Not sure if the CogoPoint.Add() returns an object ID. Maybe try this&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;CogoPoints.Add(CompPt)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Dim pointID as ObjectID = CogoPoints(i).ObjectID&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 12 Apr 2013 15:07:01 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863004#M18836</guid>
      <dc:creator>Ed.McGriskin</dc:creator>
      <dc:date>2013-04-12T15:07:01Z</dc:date>
    </item>
    <item>
      <title>Re: Civil 3D 2013 Net CogoPointCollection</title>
      <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863008#M18837</link>
      <description>&lt;P&gt;What is the error given? Have you tried to enclose it in a Try/Catch to trap the error so you can get an idea why?&lt;/P&gt;</description>
      <pubDate>Fri, 12 Apr 2013 15:06:50 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863008#M18837</guid>
      <dc:creator>Jeff_M</dc:creator>
      <dc:date>2013-04-12T15:06:50Z</dc:date>
    </item>
    <item>
      <title>Re: Civil 3D 2013 Net CogoPointCollection</title>
      <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863077#M18838</link>
      <description>&lt;P&gt;Just as a quick test, I tried this very simple code snip (sorry, c#) but it works fine in 2013 SP1. So my guess is there is something else in your code affecting this.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;        [CommandMethod("TestAddPt")]
        public void testaddpt()
        {
            CivilDocument doc = CivilApplication.ActiveDocument;
            AcDb.ObjectId ptId = doc.CogoPoints.Add(new Autodesk.AutoCAD.Geometry.Point3d(0.0, 10.0, 5.0));
        }
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 12 Apr 2013 15:37:59 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863077#M18838</guid>
      <dc:creator>Jeff_M</dc:creator>
      <dc:date>2013-04-12T15:37:59Z</dc:date>
    </item>
    <item>
      <title>Re: Civil 3D 2013 Net CogoPointCollection</title>
      <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863103#M18839</link>
      <description>&lt;P&gt;Well I don't believe it's my code.&lt;BR /&gt;I tried both of the following and after MsgBox(i) of "2" (two points in my test.dwg) AutoCAD crashes.&lt;BR /&gt;I added MsgBox("Test") to confirm it wasn't an error further down the road.&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox(i)&lt;BR /&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; Try&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CogoPoints.Add(CompPt)&lt;BR /&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; Catch ex As Exception&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox(ex.Message)&lt;BR /&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; End Try&lt;BR /&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("Test")&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox(i)&lt;BR /&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; Try&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CogoPoints.Add(CompPt)&lt;BR /&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; Catch ex As Autodesk.AutoCAD.Runtime.Exception&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox(ex.Message)&lt;BR /&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; End Try&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MsgBox("Test")&lt;/P&gt;</description>
      <pubDate>Fri, 12 Apr 2013 15:48:57 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863103#M18839</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-04-12T15:48:57Z</dc:date>
    </item>
    <item>
      <title>Re: Civil 3D 2013 Net CogoPointCollection</title>
      <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863111#M18840</link>
      <description>&lt;P&gt;&lt;SPAN style="line-height: 14px;"&gt;Would definitely be easier to diagnose the problems if we saw more of the code. I am guessing you are running a loop of some kind to add some points to your drawing.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 12 Apr 2013 15:53:31 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863111#M18840</guid>
      <dc:creator>Ed.McGriskin</dc:creator>
      <dc:date>2013-04-12T15:53:31Z</dc:date>
    </item>
    <item>
      <title>Re: Civil 3D 2013 Net CogoPointCollection</title>
      <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863135#M18841</link>
      <description>&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Sub Button_COMP_Click(sender As Object, e As EventArgs) Handles Button_COMP.Click&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim m_doc As CivilDocument = Nothing&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim m_trans As Transaction = Nothing&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim m_Database As Database = Nothing&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim m_Editor As Editor = Nothing&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim docCol As Autodesk.AutoCAD.ApplicationServices.DocumentCollection = Application.DocumentManager&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_Database = docCol.MdiActiveDocument.Database&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_Editor = docCol.MdiActiveDocument.Editor&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_doc = Autodesk.Civil.ApplicationServices.CivilApplication.ActiveDocument()&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim CogoPoints As CogoPointCollection = m_doc.CogoPoints&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Confirmed as valid link to CogoPointCollection&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim oAlignments As ObjectIdCollection&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oAlignments = m_doc.GetAlignmentIds&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim b As Boolean&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b = False&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim s As String&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim oAlignment As Alignment = Nothing&amp;nbsp; 'Alignment used for comps.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim oProfile As Profile = Nothing 'Profile for 3D comps (see b2D_Comps)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim b2D_Comps As Boolean = False&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim dSta As Double&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim sRawSta As String&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Northing As Double&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Easting As Double&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Elevation As Double&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim dOffset As Double 'Offset for point calculations i.e. Alignment + Hub Offset&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If TextBox_ALIGNOFF.Text = "" Then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TextBox_ALIGNOFF.Text = "0.00"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If TextBox_HUBOFF.Text = "" Then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TextBox_HUBOFF.Text = "0.00"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dOffset = Double.Parse(TextBox_ALIGNOFF.Text) + Double.Parse(TextBox_HUBOFF.Text)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim dElevMod As Double&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If TextBox_ELEV_MOD.Text = "" Then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TextBox_ELEV_MOD.Text = "0.00"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dElevMod = Double.Parse(TextBox_ELEV_MOD.Text)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m_trans = m_Database.TransactionManager.StartTransaction()&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Set oAlignment&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For Each ObjId As ObjectId In oAlignments&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oAlignment = m_trans.GetObject(ObjId, OpenMode.ForRead)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If oAlignment.Name = ComboBox_ALIGN.Text Then&lt;BR /&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; b = True&lt;BR /&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; Exit For&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR /&gt;&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; If b = False Then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox("Alignment not defined.", MsgBoxStyle.Exclamation)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit Sub&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Set oProfile or b2D_Comps&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If ComboBox_Profiles.Text = "" Then&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s = "Profile NOT Set." + vbCrLf + "Points are 2D?"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Answer As MsgBoxResult = MsgBox(s, MsgBoxStyle.YesNo)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Answer = MsgBoxResult.Yes Then&lt;BR /&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; b2D_Comps = True&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR /&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; Exit Sub&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b = False&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim oProfiles As ObjectIdCollection&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oProfiles = oAlignment.GetProfileIds&lt;BR /&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 ObjIdPro As ObjectId In oProfiles&lt;BR /&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; oProfile = m_trans.GetObject(ObjIdPro, OpenMode.ForRead)&lt;BR /&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; If oProfile.Name = ComboBox_Profiles.Text Then&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b = True&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit For&lt;BR /&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; End If&lt;BR /&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;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Left side comps&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If RadioButton_L.Checked = True Or RadioButton_B.Checked = True Then&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 dOffsetL As Double&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dOffsetL = dOffset * (-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; For Each row In DataGridView_STAOFF.Rows&lt;BR /&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; dSta = Double.Parse(row.Cells(0).Value)&lt;BR /&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; sRawSta = row.Cells(1).Value&lt;BR /&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; If RadioButton_B.Checked = True Then&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sRawSta = sRawSta.Replace("L_R", "L")&lt;BR /&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; End If&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; oAlignment.PointLocation(dSta, dOffsetL, Easting, Northing)&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; If b2D_Comps = True Then&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Elevation = 0&lt;BR /&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; Else&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Elevation = oProfile.ElevationAt(dSta) + dElevMod&lt;BR /&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; End If&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; Dim CompPt As New Point3d(Easting, Northing, Elevation)&lt;BR /&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(CompPt.X)&lt;BR /&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(CompPt.Y)&lt;BR /&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(CompPt.Z)&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; Dim i As Integer = CogoPoints.Count&lt;BR /&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(i) '************************************************CRASHES AFTER THIS*************************&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; Try&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CogoPoints.Add(CompPt)&lt;BR /&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; Catch ex As Autodesk.AutoCAD.Runtime.Exception&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox(ex.Message)&lt;BR /&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; End Try&lt;BR /&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("Test")&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; 'Dim cogoPoint As CogoPoint = TryCast(pointId.GetObject(OpenMode.ForWrite), CogoPoint)&lt;BR /&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; 'cogoPoint.RawDescription = sRawSta&lt;/P&gt;&lt;P&gt;&lt;BR /&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;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If 'Left side comps&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 12 Apr 2013 16:09:12 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863135#M18841</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-04-12T16:09:12Z</dc:date>
    </item>
    <item>
      <title>Re: Civil 3D 2013 Net CogoPointCollection</title>
      <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863138#M18842</link>
      <description>&lt;P&gt;Transactions are kindof new to me so maybe that is my problem.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 12 Apr 2013 16:10:30 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863138#M18842</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-04-12T16:10:30Z</dc:date>
    </item>
    <item>
      <title>Re: Civil 3D 2013 Net CogoPointCollection</title>
      <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863186#M18843</link>
      <description>&lt;P&gt;Transactions must be disposed. THe best way to handle them is to place them in a Using block:&lt;/P&gt;
&lt;PRE&gt;Using m_trans As Transaction
  ....your code
  m_trans.Commit()
End Using&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;However, I'm not so sure that is the issue with your code. I changed the sample Iposted to add 10 points and it does so without issue, so there must be something occurring when you code is execting that you aren't seeing. If you could provide a working solution (so I don't have to recreate your form) and a test drawing, I would be willing to help you track it down.&lt;/P&gt;</description>
      <pubDate>Fri, 12 Apr 2013 16:38:08 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863186#M18843</guid>
      <dc:creator>Jeff_M</dc:creator>
      <dc:date>2013-04-12T16:38:08Z</dc:date>
    </item>
    <item>
      <title>Re: Civil 3D 2013 Net CogoPointCollection</title>
      <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863222#M18844</link>
      <description>&lt;P&gt;Okay, I modified the WinForm so you don't have to select a alignment or profile if you use the drawing included.&lt;/P&gt;&lt;P&gt;On the right hand size:&lt;/P&gt;&lt;P&gt;Enter a zero in the RichTextBox, press the Add Stations button and then press the COMPUTE POINTS button.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Okay, I can't attach a 647KB zip file.&lt;/P&gt;</description>
      <pubDate>Fri, 12 Apr 2013 17:16:04 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863222#M18844</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-04-12T17:16:04Z</dc:date>
    </item>
    <item>
      <title>Re: Civil 3D 2013 Net CogoPointCollection</title>
      <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863229#M18845</link>
      <description>&lt;P&gt;You can email it to me if you like: jeffm AT quuxsoft DOT com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 12 Apr 2013 17:18:13 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863229#M18845</guid>
      <dc:creator>Jeff_M</dc:creator>
      <dc:date>2013-04-12T17:18:13Z</dc:date>
    </item>
    <item>
      <title>Re: Civil 3D 2013 Net CogoPointCollection</title>
      <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863347#M18846</link>
      <description>&lt;P&gt;OK, not sure why I didn't think of this before. When manipulating the drawing's database from inside a Modeless dialog you must Lock the Document. Again, this is easiest done with a Using block. I removed the m_trans DIm from above then modified the code like so and it works without crashing:&lt;/P&gt;
&lt;PRE&gt;        Using doclock As DocumentLock = docCol.MdiActiveDocument.LockDocument()

            Using m_trans As Transaction = m_Database.TransactionManager.StartTransaction()

                'Set oAlignment
                For Each ObjId As ObjectId In oAlignments
                    oAlignment = m_trans.GetObject(ObjId, OpenMode.ForRead)
                    If oAlignment.Name = ComboBox_ALIGN.Text Then
                        b = True
                        Exit For
                    End If
                Next

                If b = False Then
                    MsgBox("Alignment not defined.", MsgBoxStyle.Exclamation)
                    Exit Sub
                End If

                'Set oProfile or b2D_Comps
                If ComboBox_Profiles.Text = "" Then
                    s = "Profile NOT Set." + vbCrLf + "Points are 2D?"
                    Dim Answer As MsgBoxResult = MsgBox(s, MsgBoxStyle.YesNo)
                    If Answer = MsgBoxResult.Yes Then
                        b2D_Comps = True
                    Else
                        Exit Sub
                    End If
                Else
                    b = False
                    Dim oProfiles As ObjectIdCollection
                    oProfiles = oAlignment.GetProfileIds
                    For Each ObjIdPro As ObjectId In oProfiles
                        oProfile = m_trans.GetObject(ObjIdPro, OpenMode.ForRead)
                        If oProfile.Name = ComboBox_Profiles.Text Then
                            b = True
                            Exit For
                        End If
                    Next
                End If

                'Left side comps
                If RadioButton_L.Checked = True Or RadioButton_B.Checked = True Then

                    Dim dOffsetL As Double
                    dOffsetL = dOffset * (-1)

                    For Each row In DataGridView_STAOFF.Rows
                        dSta = Double.Parse(row.Cells(0).Value)
                        sRawSta = row.Cells(1).Value
                        If RadioButton_B.Checked = True Then
                            sRawSta = sRawSta.Replace("L_R", "L")
                        End If

                        oAlignment.PointLocation(dSta, dOffsetL, Easting, Northing)

                        If b2D_Comps = True Then
                            Elevation = 0
                        Else
                            Elevation = oProfile.ElevationAt(dSta) + dElevMod
                        End If

                        Dim CompPt As New Point3d(Easting, Northing, Elevation)
                        'CompPt is valid!

                        'MsgBox(CompPt.X)
                        'MsgBox(CompPt.Y)
                        'MsgBox(CompPt.Z)

                        Dim i As Integer = CogoPoints.Count
                        MsgBox(i)

                        'Dim pointId As ObjectId = cgPoints.Add(CompPt, sRawSta)
                        'Dim pointId As ObjectId = CogoPoints.Add(CompPt) '**************************Doesn't like it!

                        Try
                            CogoPoints.Add(CompPt)
                        Catch ex As System.Exception
                            MsgBox(ex.Message)
                        End Try
                        MsgBox("Test")

                        'Dim cogoPoint As CogoPoint = TryCast(pointId.GetObject(OpenMode.ForWrite), CogoPoint)
                        'cogoPoint.RawDescription = sRawSta


                    Next
                End If 'Left side comps
                m_trans.Commit()
            End Using ''disposes Transaction
        End Using ''disposes DocumentLock
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 12 Apr 2013 18:31:21 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863347#M18846</guid>
      <dc:creator>Jeff_M</dc:creator>
      <dc:date>2013-04-12T18:31:21Z</dc:date>
    </item>
    <item>
      <title>Re: Civil 3D 2013 Net CogoPointCollection</title>
      <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863397#M18847</link>
      <description>&lt;P&gt;Thanks Jeff &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://forums.autodesk.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 12 Apr 2013 19:05:53 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/civil-3d-customization-forum/civil-3d-2013-net-cogopointcollection/m-p/3863397#M18847</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2013-04-12T19:05:53Z</dc:date>
    </item>
  </channel>
</rss>

