Allows access to a Block instance.
This code snippet shows how to get the Block instances.
COM native C++
_variant_t pVariantArrayBI = blkDefs->GetBlockInstances();
if( V_VT( &pVariantArrayBI ) != VT_EMPTY )
{
IBlockInstancePtr *blkIns = NULL;
int countOfBI = 0;
TypeConverter::convertVariantArrayToPtrArray<IBlockInstancePtr, IBlockInstance>( pVariantArrayBI, blkIns, countOfBI );
}
This code snippet shows how to get the IBlockInstance object if the selected object is an IBlockInstance object.
COM native C++
long selCount = dsSelManager->GetSelectedObjectCount( dsSelectionSetType_Current );
if( selCount > 0 )
{
for( long i = 0; i < selCount; ++i )
{
//Get selected object type
dsObjectType_e retObjType;
IDispatchPtr selObj = dsSelManager->GetSelectedObject( dsSelectionSetType_Current, i, &retObjType );
//If selected object is Block instance
if( dsBlockInstanceType == retObjType )
{
IBlockInstancePtr blkIns( selObj );
. . .
This code snippet shows how to insert a Block instance.
COM native C++
//Insert the existing Block instance or insert Block instance from a DWG file
bstr_t blockFileName ( L"<path_and_DWG_file_name_OR_existing_Block_name>" );
double insertX = 0, insertY = 0, insertZ = 0, scaleX = 1, scaleY = 1, scaleZ = 1, rotation = 0;
BlockInstancePtr blockInstance = sketchMgr->InsertBlock2( blockFileName, insertX, insertY, insertZ, scaleX, scaleY, scaleZ, rotation );