<?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: Data extraction by layer in .NET Forum</title>
    <link>https://forums.autodesk.com/t5/net-forum/data-extraction-by-layer/m-p/5488981#M41522</link>
    <description>Nice Gile</description>
    <pubDate>Fri, 30 Jan 2015 06:12:09 GMT</pubDate>
    <dc:creator>SENL1362</dc:creator>
    <dc:date>2015-01-30T06:12:09Z</dc:date>
    <item>
      <title>Data extraction by layer</title>
      <link>https://forums.autodesk.com/t5/net-forum/data-extraction-by-layer/m-p/5488218#M41518</link>
      <description>&lt;P&gt;Hi, I just discovered that I can extract data from autocad and that is making my work easier. There is just one thing I wish I could do to fully parameterize the extraction. I'm trying to add the lenghts of all the polylines that exist in each layer. I can extract all of them and sort them by layer, but I haven't figured out a way to automatically add them to get the total lenght by layer. Is there a way that I can do this?&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;</description>
      <pubDate>Thu, 29 Jan 2015 18:07:57 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/data-extraction-by-layer/m-p/5488218#M41518</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2015-01-29T18:07:57Z</dc:date>
    </item>
    <item>
      <title>Re: Data extraction by layer</title>
      <link>https://forums.autodesk.com/t5/net-forum/data-extraction-by-layer/m-p/5488541#M41519</link>
      <description>create dictionary &amp;lt;string, double&amp;gt;. key==layerName, value += each poly length&lt;BR /&gt;after collecting each length write the total length for each layer.&lt;BR /&gt;You can print the grand total using myDict.Values.Sum().&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Thu, 29 Jan 2015 21:10:18 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/data-extraction-by-layer/m-p/5488541#M41519</guid>
      <dc:creator>SENL1362</dc:creator>
      <dc:date>2015-01-29T21:10:18Z</dc:date>
    </item>
    <item>
      <title>Re: Data extraction by layer</title>
      <link>https://forums.autodesk.com/t5/net-forum/data-extraction-by-layer/m-p/5488577#M41520</link>
      <description>&lt;PRE&gt;                var plLayers = new Dictionary&amp;lt;string, double&amp;gt;(StringComparer.OrdinalIgnoreCase);
                using (Transaction tr=db.TransactionManager.StartTransaction())
                {
                    BlockTableRecord ms=(BlockTableRecord)tr.GetObject(SymbolUtilityServices.GetBlockModelSpaceId(db),OpenMode.ForRead);
                    foreach (ObjectId id in ms)
                    {
                        if (id.ObjectClass.DxfName == "LWPOLYLINE")
                        {
                            var pl = tr.GetObject(id, OpenMode.ForRead) as Polyline;
                            if (pl != null)
                            {
                                if (!plLayers.ContainsKey(pl.Layer))
                                    plLayers.Add(pl.Layer, 0);
                                plLayers[pl.Layer] += pl.Length;
                            }
                        }
                    }
                    tr.Commit();
                }
                if (plLayers.Count &amp;gt; 0)
                {
                    foreach (var kvp in plLayers.OrderBy(kvp =&amp;gt; kvp.Key))
                        ed.WriteMessage("\n {0}=={1}", kvp.Key, kvp.Value);
                    ed.WriteMessage("\n Total Length== {0}", plLayers.Values.Sum());
                }&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;</description>
      <pubDate>Thu, 29 Jan 2015 21:36:07 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/data-extraction-by-layer/m-p/5488577#M41520</guid>
      <dc:creator>SENL1362</dc:creator>
      <dc:date>2015-01-29T21:36:07Z</dc:date>
    </item>
    <item>
      <title>Re: Data extraction by layer</title>
      <link>https://forums.autodesk.com/t5/net-forum/data-extraction-by-layer/m-p/5488975#M41521</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you prefer a more functional / declarative way of writing using Linq:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;        public Dictionary&amp;lt;string, double&amp;gt; GetPlineLengthsbyLayer(Database db)
        {
            RXClass plineclass = RXClass.GetClass(typeof(Polyline));
            using (Transaction tr = db.TransactionManager.StartOpenCloseTransaction())
            {
                return
                    ((BlockTableRecord)tr.GetObject(db.CurrentSpaceId, OpenMode.ForRead))
                    .Cast&amp;lt;ObjectId&amp;gt;()
                    .Where(id =&amp;gt; id.ObjectClass == plineclass)
                    .Select(id =&amp;gt; (Polyline)tr.GetObject(id, OpenMode.ForRead))
                    .GroupBy(pl =&amp;gt; pl.Layer)
                    .ToDictionary(grp =&amp;gt; grp.Key, grp =&amp;gt; grp.Select(pl =&amp;gt; pl.Length).Sum());
            }
        }&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Jan 2015 05:47:44 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/data-extraction-by-layer/m-p/5488975#M41521</guid>
      <dc:creator>_gile</dc:creator>
      <dc:date>2015-01-30T05:47:44Z</dc:date>
    </item>
    <item>
      <title>Re: Data extraction by layer</title>
      <link>https://forums.autodesk.com/t5/net-forum/data-extraction-by-layer/m-p/5488981#M41522</link>
      <description>Nice Gile</description>
      <pubDate>Fri, 30 Jan 2015 06:12:09 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/data-extraction-by-layer/m-p/5488981#M41522</guid>
      <dc:creator>SENL1362</dc:creator>
      <dc:date>2015-01-30T06:12:09Z</dc:date>
    </item>
    <item>
      <title>Re: Data extraction by layer</title>
      <link>https://forums.autodesk.com/t5/net-forum/data-extraction-by-layer/m-p/5498139#M41523</link>
      <description>thank you!</description>
      <pubDate>Fri, 06 Feb 2015 18:28:25 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/data-extraction-by-layer/m-p/5498139#M41523</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2015-02-06T18:28:25Z</dc:date>
    </item>
  </channel>
</rss>

