| Article | 70002757 |
| Type | Wish |
| Product | Engine |
| Date Added | 9/18/2025 12:00:00 AM |
| Fixed | 11.4.21 (9/18/2025 12:00:00 AM) |
| Submitted by | Dominique Premillieu |
Summary
Deleted method is Slow for table objects like vdBlock,vdDimStyle, vdLayer, vdImageDef,vdTextStyle, vdLineType, vdHatchPattern, vdMultiLineStyle
Solution
A new method InternalDeleteNoCheck was exported for vdPrimary object types
Mark the object as Deleted with out checking if this object is depend from other objects in Document
It is faster than Deleted method
Call this method instead of Deleted method, for table objects return after the vdDocument.GetUnUsedTables method call
-Or- if you are sure that this object is not depend from other objects in Document.
Example
//Purge unused Tables Layers, Blocks, LineTypes, DimStyles, TextStyles,ImageDefinition, HatchPatterns
vdDocument mDoc;//an existing vdDocument object
vdLayers layers = new vdLayers();
vdBlocks blocks = new vdBlocks();
vdDimstyles dimstyles = new vdDimstyles();
vdLineTypes linetypes = new vdLineTypes();
vdTextstyles textstyles = new vdTextstyles();
vdImages images = new vdImages();
vdHatchPatterns hatchpatterns = new vdHatchPatterns();
mDoc.GetUnUsedTables(layers, blocks, dimstyles, linetypes, textstyles, images, hatchpatterns);
foreach (vdPrimary item in blocks)
{
if (item.Deleted) continue;
item.InternalDeleteNoCheck = true;
}
foreach (vdPrimary item in dimstyles)
{
if (item.Deleted) continue;
item.InternalDeleteNoCheck = true;
}
foreach (vdPrimary item in layers)
{
if (item.Deleted) continue;
item.InternalDeleteNoCheck = true;
}
foreach (vdPrimary item in images)
{
if (item.Deleted) continue;
item.InternalDeleteNoCheck = true;
}
foreach (vdPrimary item in textstyles)
{
if (item.Deleted) continue;
item.InternalDeleteNoCheck = true;
}
foreach (vdPrimary item in linetypes)
{
if (item.Deleted) continue;
item.InternalDeleteNoCheck = true;
}
foreach (vdPrimary item in hatchpatterns)
{
if (item.Deleted) continue;
item.InternalDeleteNoCheck = true;
}
