Valued Mentor
Posts: 354
Registered: ‎01-27-2010
Message 1 of 3 (438 Views)
Accepted Solution

How to remove entity from BlockTableRecord ?

438 Views, 2 Replies
02-23-2012 05:23 AM
'Gestion Bloc en mémoire
            Dim BlocSpace As BlockTable         'Coll des BlockDef en ModelSpace
            Dim BlocDef As BlockTableRecord     'Def du bloc
                tr = db.TransactionManager.StartTransaction()

                BlocSpace = tr.GetObject(db.BlockTableId, OpenMode.ForRead)
                If BlocSpace.Has(Tableau.NomBlocDessin) = False Then
                    'création d'un nouveau Def
                    BlocDef = New BlockTableRecord
                    BlocDef.Name = Tableau.NomBlocDessin
                    'Ajout à la base et mémorisation de l'ID pour l'add sur le dessin
                    ' blocref = new blockreference(point3d,id)
                    Dim BlocDefId As ObjectId = BlocSpace.Add(BlocDef)
                    'Ajout au dessin
                    tr.AddNewlyCreatedDBObject(BlocDef, True)
                    'récupération de la def.
                    BlocDef = tr.GetObject(BlocSpace.Item(Tableau.NomBlocDessin), OpenMode.ForWrite)
                    'suppression de tous les élements dans la def.
                End If
            Catch ex As Exception
                MsgBox(ex.ToString, vbOKOnly, "Erreur système dans ClassFichier.CréationTableau")

            End Try


now i have a BlockTableRecord in car BlocDef.

How i can delete all entity in this ?

I want to create a new order in the blocdef but i dont want delete the Blockreference. so i dont 'purge'



*Expert Elite*
Posts: 1,982
Registered: ‎04-29-2006
Message 2 of 3 (432 Views)

Re : How to remove entity from BlockTableRecord ?

02-23-2012 05:45 AM in reply to: AubelecBE


You can iterate the BlockTableRecord, open each entity and erase it.



Tu peux parcourir le BloctTableRecord ouvrir chaque entité et l'effacer.


foreach (ObjectId id in BlocDef)


    Entity ent = (Entity)tr.GetObject(id, OpenMode.ForWrite);



Gilles Chanteau
Valued Mentor
Posts: 354
Registered: ‎01-27-2010
Message 3 of 3 (418 Views)

Re : How to remove entity from BlockTableRecord ?

02-23-2012 07:31 AM in reply to: _gile

ah ok Thanks i have to try it tomorrow.


If i delete all BlockReference and purge the DefBloc: it is much fast no ?






You are not logged in.

Log into access your profile, ask and answer questions, share ideas and more. Haven't signed up yet? Register

Welcome to the new Autodesk Community!
If this is your first visit, click here to get started and make the most of the Community. Let us know what you think of the new experience in the Community Feedback Forum.

Need installation help?

Start with some of our most frequented solutions to get help installing your software.

Ask the Community