<?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: .Net loop through each Civil 3D objects in Civil 3D Customization Forum</title>
    <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/net-loop-through-each-civil-3d-objects/m-p/10850626#M5960</link>
    <description>&lt;P&gt;Here is one way (the simplest, IMHO):&lt;/P&gt;
&lt;LI-CODE lang="general"&gt;using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.Runtime;
using CivDb = Autodesk.Civil.DatabaseServices;

namespace Civil3D_Misc_Commands.SelectionTools
{
    public class AeccSelection
    {
        [CommandMethod("Testy")]
        public void testy2()
        {
            var ed = Application.DocumentManager.MdiActiveDocument.Editor;
            var tv = new TypedValue[] { new TypedValue((int)DxfCode.Start, "AECC_*") };
            var ss = ed.SelectAll(new SelectionFilter(tv));
            if (!(ss.Status == PromptStatus.OK &amp;amp;&amp;amp; ss.Value.Count &amp;gt; 0))
            {
                ed.WriteMessage("\n No Civil 3D objects found!");
                return;
            }
            using (OpenCloseTransaction tr = Application.DocumentManager.MdiActiveDocument.Database.TransactionManager.StartOpenCloseTransaction())
            {
                foreach(ObjectId id in ss.Value.GetObjectIds())
                {
                    var ent = (CivDb.Entity)tr.GetObject(id, OpenMode.ForRead);
                    ed.WriteMessage("\nEntity type: {0}, Handle: {1}", ent.GetType().Name, ent.Handle);
                }
            }

        }
    }
}
&lt;/LI-CODE&gt;</description>
    <pubDate>Thu, 30 Dec 2021 19:46:13 GMT</pubDate>
    <dc:creator>Jeff_M</dc:creator>
    <dc:date>2021-12-30T19:46:13Z</dc:date>
    <item>
      <title>.Net loop through each Civil 3D objects</title>
      <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/net-loop-through-each-civil-3d-objects/m-p/10850462#M5959</link>
      <description>&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'Arial',sans-serif; color: #212121;"&gt;Hello all,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'Arial',sans-serif; color: #212121;"&gt;I am not familiar with .NET but I am trying to transition from Lisp. trying to create a routine that will loop through each Civil 3D objects and output the handle and type of item to the screen. &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.5pt; font-family: 'Arial',sans-serif; color: #212121;"&gt;don’t know where to start. Any help would be appreciated thanks.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 30 Dec 2021 18:03:44 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/civil-3d-customization-forum/net-loop-through-each-civil-3d-objects/m-p/10850462#M5959</guid>
      <dc:creator>Joaquin.FernandezVZWM2</dc:creator>
      <dc:date>2021-12-30T18:03:44Z</dc:date>
    </item>
    <item>
      <title>Re: .Net loop through each Civil 3D objects</title>
      <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/net-loop-through-each-civil-3d-objects/m-p/10850626#M5960</link>
      <description>&lt;P&gt;Here is one way (the simplest, IMHO):&lt;/P&gt;
&lt;LI-CODE lang="general"&gt;using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.Runtime;
using CivDb = Autodesk.Civil.DatabaseServices;

namespace Civil3D_Misc_Commands.SelectionTools
{
    public class AeccSelection
    {
        [CommandMethod("Testy")]
        public void testy2()
        {
            var ed = Application.DocumentManager.MdiActiveDocument.Editor;
            var tv = new TypedValue[] { new TypedValue((int)DxfCode.Start, "AECC_*") };
            var ss = ed.SelectAll(new SelectionFilter(tv));
            if (!(ss.Status == PromptStatus.OK &amp;amp;&amp;amp; ss.Value.Count &amp;gt; 0))
            {
                ed.WriteMessage("\n No Civil 3D objects found!");
                return;
            }
            using (OpenCloseTransaction tr = Application.DocumentManager.MdiActiveDocument.Database.TransactionManager.StartOpenCloseTransaction())
            {
                foreach(ObjectId id in ss.Value.GetObjectIds())
                {
                    var ent = (CivDb.Entity)tr.GetObject(id, OpenMode.ForRead);
                    ed.WriteMessage("\nEntity type: {0}, Handle: {1}", ent.GetType().Name, ent.Handle);
                }
            }

        }
    }
}
&lt;/LI-CODE&gt;</description>
      <pubDate>Thu, 30 Dec 2021 19:46:13 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/civil-3d-customization-forum/net-loop-through-each-civil-3d-objects/m-p/10850626#M5960</guid>
      <dc:creator>Jeff_M</dc:creator>
      <dc:date>2021-12-30T19:46:13Z</dc:date>
    </item>
    <item>
      <title>Re: .Net loop through each Civil 3D objects</title>
      <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/net-loop-through-each-civil-3d-objects/m-p/10852002#M5961</link>
      <description>&lt;P&gt;Of course, the code I posted will only get C3D objects that are not on frozen layers and you must use it while in Modelspace. You could, as an alternative, loop through all objects in the Modelspace block looking for any ObjectId.ObjectClass.DxfName beginning with "AECC".&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="general"&gt;        [CommandMethod("TestFindC3DEnts")]
        public void TestFindC3DEnts()
        {
            var doc = Application.DocumentManager.MdiActiveDocument;
            var ed = doc.Editor;
            var db = doc.Database;
            using (OpenCloseTransaction tr = db.TransactionManager.StartOpenCloseTransaction())
            {
                var bt = (BlockTable)tr.GetObject(db.BlockTableId, OpenMode.ForRead);
                var ms = (BlockTableRecord)tr.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForRead);
                foreach(ObjectId id in ms)
                {
                    if(!id.ObjectClass.DxfName.StartsWith("AECC"))
                        continue;
                    var ent = (CivDb.Entity)tr.GetObject(id, OpenMode.ForRead);
                    ed.WriteMessage("\nEntity type: {0}, Handle: {1}", ent.GetType().Name, ent.Handle);
                }
            }

        }
&lt;/LI-CODE&gt;</description>
      <pubDate>Fri, 31 Dec 2021 20:11:43 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/civil-3d-customization-forum/net-loop-through-each-civil-3d-objects/m-p/10852002#M5961</guid>
      <dc:creator>Jeff_M</dc:creator>
      <dc:date>2021-12-31T20:11:43Z</dc:date>
    </item>
    <item>
      <title>Re: .Net loop through each Civil 3D objects</title>
      <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/net-loop-through-each-civil-3d-objects/m-p/10855316#M5962</link>
      <description>&lt;P&gt;Hi Jeff.&lt;BR /&gt;Thanks for your quick response. Your assistance is invaluable. This is exactly what I was trying to do.&lt;/P&gt;</description>
      <pubDate>Mon, 03 Jan 2022 15:38:22 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/civil-3d-customization-forum/net-loop-through-each-civil-3d-objects/m-p/10855316#M5962</guid>
      <dc:creator>Joaquin.FernandezVZWM2</dc:creator>
      <dc:date>2022-01-03T15:38:22Z</dc:date>
    </item>
    <item>
      <title>Re: .Net loop through each Civil 3D objects</title>
      <link>https://forums.autodesk.com/t5/civil-3d-customization-forum/net-loop-through-each-civil-3d-objects/m-p/10855621#M5963</link>
      <description>&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/11552638"&gt;@Joaquin.FernandezVZWM2&lt;/a&gt; Please be sure to Accept Solution on the post that helped you.</description>
      <pubDate>Mon, 03 Jan 2022 18:26:24 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/civil-3d-customization-forum/net-loop-through-each-civil-3d-objects/m-p/10855621#M5963</guid>
      <dc:creator>Jeff_M</dc:creator>
      <dc:date>2022-01-03T18:26:24Z</dc:date>
    </item>
  </channel>
</rss>

