.NET
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Insert wblock - annotative

1 REPLY 1
SOLVED
Reply
Message 1 of 2
Ertqwa
743 Views, 1 Reply

Insert wblock - annotative

Hello forum,

 

I use the following code to insert a wblock:

 

using (dbInsert = new Database(false, true))
{
    dbInsert.ReadDwgFile(strDwgPath, System.IO.FileShare.Read, true, "");
    oidInsert = dbActive.Insert(System.IO.Path.GetFileNameWithoutExtension(strDwgPath), dbInsert, true);
}

 Works as it should, and I can create a reference and use it. But when strDwgPath is an annotative block, it is inserted as a non-annotative block (BlockReference.Annotative == false).

 

I can use the following code, but then ALL blocks are inserted as annotative:

 

// Get the new blocktablerecord.
btrInsert = transActive.GetObject(oidInsert, OpenMode.ForWrite) as BlockTableRecord;
btrInsert.Annotative = AnnotativeStates.True;

 

How am I suppose to insert a wblock so annotative wblocks will be annotative and non-annotatives wont be?

 

Thank you.

1 REPLY 1
Message 2 of 2
cincir
in reply to: Ertqwa

 

bool bIsAnnotative = false;

using (dbInsert = new Database(false, true))
{
    dbInsert.ReadDwgFile(strDwgPath, System.IO.FileShare.Read, true, "");
    oidInsert = dbActive.Insert(System.IO.Path.GetFileNameWithoutExtension(strDwgPath), dbInsert, true);
    bIsAnnotative = dbInsert.AnnotativeDrawing;
}

 

will help you i think. then

 

// Get the new blocktablerecord.
btrInsert = transActive.GetObject(oidInsert, OpenMode.ForWrite) as BlockTableRecord;
if (bIsAnnotative)
    btrInsert.Annotative = AnnotativeStates.True;

 


 


Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk DevCon in Munich May 28-29th


Autodesk Design & Make Report

”Boost