<?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: How to get AcadBlock and AcadEntity in transaction? in .NET Forum</title>
    <link>https://forums.autodesk.com/t5/net-forum/how-to-get-acadblock-and-acadentity-in-transaction/m-p/3202172#M58700</link>
    <description>&lt;P&gt;That's correct - Your code is doing exactly what I meant.&lt;/P&gt;&lt;P&gt;Thanks for Your help and support.&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;</description>
    <pubDate>Mon, 24 Oct 2011 12:25:05 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2011-10-24T12:25:05Z</dc:date>
    <item>
      <title>How to get AcadBlock and AcadEntity in transaction?</title>
      <link>https://forums.autodesk.com/t5/net-forum/how-to-get-acadblock-and-acadentity-in-transaction/m-p/3202150#M58698</link>
      <description>&lt;P&gt;Welcome&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a little problem - how to get AcadBlock or AcadEntities by using transaction.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In a current open document I can do something like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Dim&lt;/SPAN&gt;&amp;nbsp;document&amp;nbsp;&lt;SPAN&gt;As&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;Document&lt;/SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;SPAN&gt;Application&lt;/SPAN&gt;.DocumentManager.MdiActiveDocument
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;Dim&lt;/SPAN&gt;&amp;nbsp;AcadDrawing&amp;nbsp;&lt;SPAN&gt;As&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;AcadDocument&lt;/SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;SPAN&gt;DirectCast&lt;/SPAN&gt;(document.AcadDocument,&amp;nbsp;&lt;SPAN&gt;AcadDocument&lt;/SPAN&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;For&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;Each&lt;/SPAN&gt;&amp;nbsp;block&amp;nbsp;&lt;SPAN&gt;As&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;AcadBlock&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;In&lt;/SPAN&gt;&amp;nbsp;AcadDrawing.Blocks
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;For&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;Each&lt;/SPAN&gt;&amp;nbsp;ent&amp;nbsp;&lt;SPAN&gt;As&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;AcadEntity&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;In&lt;/SPAN&gt;&amp;nbsp;block
&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;&lt;SPAN&gt;'here&amp;nbsp;I&amp;nbsp;can&amp;nbsp;access&amp;nbsp;all&amp;nbsp;of&amp;nbsp;the&amp;nbsp;entities&amp;nbsp;in&amp;nbsp;block&lt;/SPAN&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;&lt;SPAN&gt;Next&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;Next&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;It's working fine, but when I tried open a document in backgroud I can't get the AcadBlock or AcadEntities, only a BlockTableRecord.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;Dim&lt;/SPAN&gt;&amp;nbsp;path&amp;nbsp;&lt;SPAN&gt;As&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;String&lt;/SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;SPAN&gt;"c:\path to dwg file"&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;Dim&lt;/SPAN&gt;&amp;nbsp;db&amp;nbsp;&lt;SPAN&gt;As&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;Database&lt;/SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;SPAN&gt;New&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;Database&lt;/SPAN&gt;(&lt;SPAN&gt;True&lt;/SPAN&gt;,&amp;nbsp;&lt;SPAN&gt;True&lt;/SPAN&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;db.ReadDwgFile(path,&amp;nbsp;&lt;SPAN&gt;FileOpenMode&lt;/SPAN&gt;.OpenForReadAndAllShare,&amp;nbsp;&lt;SPAN&gt;True&lt;/SPAN&gt;,&amp;nbsp;&lt;SPAN&gt;Nothing&lt;/SPAN&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;Dim&lt;/SPAN&gt;&amp;nbsp;tr&amp;nbsp;&lt;SPAN&gt;As&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;Transaction&lt;/SPAN&gt;&amp;nbsp;=&amp;nbsp;db.TransactionManager.StartTransaction()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;Dim&lt;/SPAN&gt;&amp;nbsp;blockTable&amp;nbsp;&lt;SPAN&gt;As&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;BlockTable&lt;/SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;SPAN&gt;DirectCast&lt;/SPAN&gt;(tr.GetObject(db.BlockTableId,&amp;nbsp;&lt;SPAN&gt;OpenMode&lt;/SPAN&gt;.ForRead),&amp;nbsp;&lt;SPAN&gt;BlockTable&lt;/SPAN&gt;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;For&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;Each&lt;/SPAN&gt;&amp;nbsp;blockRecordId&amp;nbsp;&lt;SPAN&gt;As&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;ObjectId&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;In&lt;/SPAN&gt;&amp;nbsp;blockTable
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;Dim&lt;/SPAN&gt;&amp;nbsp;blockRecord&amp;nbsp;&lt;SPAN&gt;As&lt;/SPAN&gt;&amp;nbsp;&lt;SPAN&gt;BlockTableRecord&lt;/SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;SPAN&gt;DirectCast&lt;/SPAN&gt;(tr.GetObject(blockRecordId,&amp;nbsp;&lt;SPAN&gt;OpenMode&lt;/SPAN&gt;.ForRead),&amp;nbsp;&lt;SPAN&gt;BlockTableRecord&lt;/SPAN&gt;)'I can't get AcadEntity or AcadBlock here :/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;Next&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;Is there any posibility to get AcadBlocks or AcadEntities by using TransactionManager?&lt;/P&gt;&lt;P&gt;what's the difference between AcadBlock and BlockTableRecord?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I will be very grateful if anyone would like to help me with this problem &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 24 Oct 2011 11:56:12 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/how-to-get-acadblock-and-acadentity-in-transaction/m-p/3202150#M58698</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2011-10-24T11:56:12Z</dc:date>
    </item>
    <item>
      <title>Re: How to get AcadBlock and AcadEntity in transaction?</title>
      <link>https://forums.autodesk.com/t5/net-forum/how-to-get-acadblock-and-acadentity-in-transaction/m-p/3202164#M58699</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;am I right that you try to scan through all Blocks?&lt;/P&gt;&lt;P&gt;Look at this code. ... does it help?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;Dim blockTable As BlockTable = ctype(tr.GetObject(db.BlockTableId, OpenMode.ForRead), BlockTable)
For Each blockRecordId As ObjectId In blockTable
  if (blockRecordID.isValid) andalso (not blockRecordID.isErased) Then
    'now we can get the BlockTableRecord for this ID
    Dim blockRecord As BlockTableRecord = cType(tr.GetObject(blockRecordId, OpenMode.ForRead), BlockTableRecord)
    'now scan through the entities in the BlockTableRecord
    for each EntID as ObjectID in blockRecord
      if (EntID.isValid) andalso (not EntID.isErased) Then
        dim tEnt as Entity = cType(tr.GetObject(EntID,OpenMode.ForRead),Entity)
        'whatever you want to do with this Entity now ...
      end if
    Next
  end if
Next

&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;HTH, - alfred -&lt;/P&gt;</description>
      <pubDate>Mon, 24 Oct 2011 12:18:48 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/how-to-get-acadblock-and-acadentity-in-transaction/m-p/3202164#M58699</guid>
      <dc:creator>Alfred.NESWADBA</dc:creator>
      <dc:date>2011-10-24T12:18:48Z</dc:date>
    </item>
    <item>
      <title>Re: How to get AcadBlock and AcadEntity in transaction?</title>
      <link>https://forums.autodesk.com/t5/net-forum/how-to-get-acadblock-and-acadentity-in-transaction/m-p/3202172#M58700</link>
      <description>&lt;P&gt;That's correct - Your code is doing exactly what I meant.&lt;/P&gt;&lt;P&gt;Thanks for Your help and support.&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;</description>
      <pubDate>Mon, 24 Oct 2011 12:25:05 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/how-to-get-acadblock-and-acadentity-in-transaction/m-p/3202172#M58700</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2011-10-24T12:25:05Z</dc:date>
    </item>
  </channel>
</rss>

