///<overloads> /// <summmary> /// You can not edit a dependent block(a block that is inside from xref) from the referenced drawing. /// The default is not to include dependent blocks since typically you will work on blocks that are contained /// inside the drawing, and it saves time by not opening the DbObject and comparing /// BlockTableRecord.ObjectId.OriginalDatabase.UnmanagedObject to the BlockTable.Database.UnmanagedObject property. /// </summmary> /// </overloads> /// <summary> /// Gets the block table records. /// </summary> /// <param name="symbolTbl">The symbol table.</param> /// <param name="trx">The TRX.</param> /// <param name="mode">The mode.</param> /// <param name="filter"><see cref="SymbolTableRecordFilter"/>.</param> /// <returns>IEnumerable{BlockTableRecord}</returns> public static IEnumerable <BlockTableRecord> GetBlockTableRecords(this BlockTable symbolTbl, Transaction trx, OpenMode mode = OpenMode.ForRead, SymbolTableRecordFilter filter = SymbolTableRecordFilter.None) { if (filter.IsSet(SymbolTableRecordFilter.IncludeDependent)) { return(symbolTbl.GetSymbolTableRecords <BlockTableRecord>(trx, mode, filter, true)); } return(symbolTbl.GetSymbolTableRecords <BlockTableRecord>(trx, mode, filter, true).NonDependent()); }
/// <summary> /// Gets the user created block table records. /// </summary> /// <param name="symbolTbl">The symbol table.</param> /// <param name="trx">The TRX.</param> /// <param name="mode">The mode.</param> /// <returns></returns> public static IEnumerable <BlockTableRecord> GetUserCreatedBlockTableRecords(this BlockTable symbolTbl, Transaction trx, OpenMode mode = OpenMode.ForRead) { return (symbolTbl.GetSymbolTableRecords <BlockTableRecord>(trx, mode, SymbolTableRecordFilter.None, true) .UserCreatedBlocks()); }