<?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: polyline simplification in .NET Forum</title>
    <link>https://forums.autodesk.com/t5/net-forum/polyline-simplification/m-p/9088929#M20989</link>
    <description>&lt;P&gt;&lt;SPAN&gt;hi gile thank you &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;couldn't find the vertex between you can help me&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 16 Oct 2019 06:51:39 GMT</pubDate>
    <dc:creator>mttlp</dc:creator>
    <dc:date>2019-10-16T06:51:39Z</dc:date>
    <item>
      <title>polyline simplification</title>
      <link>https://forums.autodesk.com/t5/net-forum/polyline-simplification/m-p/9088709#M20987</link>
      <description>&lt;P&gt;hi;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #f5f5f5; color: #3e3e3e; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 15px;"&gt;simplification of multi-point drawn polyline&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #f5f5f5; color: #3e3e3e; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 15px;"&gt;&lt;SPAN&gt;How do you remove the vertex from a polyline?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.Geometry;
namespace IterateObjects
{
  public class Commands
  {
    [CommandMethod("PLN")]
    static public void ListVertices()
    {
      Document doc  Application.DocumentManager.MdiActiveDocument;
      Editor ed = doc.Editor;
      Database db = doc.Database;
      PromptEntityResult per  ed.GetEntity("Select a polyline");
      if (per.Status == PromptStatus.OK)
      {
        Transaction tr = b.TransactionManager.StartTransaction();
        using (tr)
        {

          DBObject obj = tr.GetObject(per.ObjectId, OpenMode.ForRead);
          Polyline lwp = obj as Polyline;
          if (lwp != null)
          {
            int vn = lwp.NumberOfVertices;
            for (int i = 0; i &amp;lt; vn; i++)
            {
              Point2d pt = lwp.GetPoint2dAt(i);
            }
			// delete vertex
			//How do you remove the vertex from a polyline?
          }
          tr.Commit();
        }
      }
    }
  }
}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="polyline simplification.png" style="width: 999px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/687978i69109A8ACB3690D3/image-size/large?v=v2&amp;amp;px=999" role="button" title="polyline simplification.png" alt="polyline simplification.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Oct 2019 04:06:28 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/polyline-simplification/m-p/9088709#M20987</guid>
      <dc:creator>mttlp</dc:creator>
      <dc:date>2019-10-16T04:06:28Z</dc:date>
    </item>
    <item>
      <title>Re: polyline simplification</title>
      <link>https://forums.autodesk.com/t5/net-forum/polyline-simplification/m-p/9088846#M20988</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;You can use the &lt;A href="https://help.autodesk.com/view/OARX/2019/ENU/?guid=OREFNET-Autodesk_AutoCAD_DatabaseServices_Polyline_RemoveVertexAt_int" target="_blank" rel="noopener"&gt;Polyline.RemoveVertexAt() method&lt;/A&gt;.&lt;/P&gt;</description>
      <pubDate>Wed, 16 Oct 2019 05:59:19 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/polyline-simplification/m-p/9088846#M20988</guid>
      <dc:creator>_gile</dc:creator>
      <dc:date>2019-10-16T05:59:19Z</dc:date>
    </item>
    <item>
      <title>Re: polyline simplification</title>
      <link>https://forums.autodesk.com/t5/net-forum/polyline-simplification/m-p/9088929#M20989</link>
      <description>&lt;P&gt;&lt;SPAN&gt;hi gile thank you &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;couldn't find the vertex between you can help me&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Oct 2019 06:51:39 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/polyline-simplification/m-p/9088929#M20989</guid>
      <dc:creator>mttlp</dc:creator>
      <dc:date>2019-10-16T06:51:39Z</dc:date>
    </item>
    <item>
      <title>Re: polyline simplification</title>
      <link>https://forums.autodesk.com/t5/net-forum/polyline-simplification/m-p/9090110#M20990</link>
      <description>&lt;P&gt;You can try something like this:&lt;/P&gt;
&lt;PRE&gt;        [CommandMethod("TEST")]
        public static void Test()
        {
            var doc = AcAp.DocumentManager.MdiActiveDocument;
            var db = doc.Database;
            var ed = doc.Editor;
            var options = new PromptEntityOptions("\nSelect Polyline: ");
            options.SetRejectMessage("\nSelected entity is not a Polyline.");
            options.AddAllowedClass(typeof(Polyline), true);
            var result = ed.GetEntity(options);
            if (result.Status != PromptStatus.OK) 
                return;
            using (var tr = db.TransactionManager.StartTransaction())
            {
                Vector2d? vector = null;
                var pline = (Polyline)tr.GetObject(result.ObjectId, OpenMode.ForWrite);
                for (int i = 0; i &amp;lt; pline.NumberOfVertices; i++)
                {
                    var segmentType = pline.GetSegmentType(i);
                    if (segmentType == SegmentType.Coincident)
                    {
                        pline.RemoveVertexAt(i--);
                    }
                    else if (segmentType == SegmentType.Line)
                    {
                        var direction = pline.GetLineSegment2dAt(i).Direction;
                        if (vector.HasValue &amp;amp;&amp;amp; vector.Value.IsCodirectionalTo(direction))
                        {
                            pline.RemoveVertexAt(i--);
                        }
                        else
                        {
                            vector = direction;
                        }
                    }
                    else
                    {
                        vector = null;
                    }
                }
                tr.Commit();
            }
        }&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Oct 2019 15:15:25 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/polyline-simplification/m-p/9090110#M20990</guid>
      <dc:creator>_gile</dc:creator>
      <dc:date>2019-10-16T15:15:25Z</dc:date>
    </item>
    <item>
      <title>Re: polyline simplification</title>
      <link>https://forums.autodesk.com/t5/net-forum/polyline-simplification/m-p/9090125#M20991</link>
      <description>&lt;P&gt;thank you so much Gile&lt;/P&gt;</description>
      <pubDate>Wed, 16 Oct 2019 15:06:41 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/polyline-simplification/m-p/9090125#M20991</guid>
      <dc:creator>mttlp</dc:creator>
      <dc:date>2019-10-16T15:06:41Z</dc:date>
    </item>
  </channel>
</rss>

