void DemoLoadBlocks (HANDLE hLcWnd)
{
HANDLE hDrw, hBlock, hExtDrw, hBlkRef;
WCHAR* szFileName = L"d:/drawings/edit26a.dxf";
WCHAR* szBlockName[5] = {L"Aura", L"IMP", L"LED-Par", L"MAC700-P", L"TP_SEL"};
HANDLE hNewBlock[5];
BOOL bLoad;
int i;
double X, Y, Scale, Angle;
// get drawing and block, linked with CAD window
hDrw = lcPropGetHandle( hLcWnd, LC_PROP_WND_DRW );
hBlock = lcPropGetHandle( hLcWnd, LC_PROP_WND_BLOCK );
// load blocks from external file (szFileName)
hExtDrw = lcCreateDrawing();
bLoad = lcDrwLoad( hExtDrw, szFileName, 0 );
if (bLoad == TRUE){
for (i=0; i<5; ++i){
hNewBlock[i] = lcDrwAddBlockFromDrw( hDrw, szBlockName[i], hExtDrw, LC_BLOCK_OVERWRITEYES, 0 );
}
}
lcDeleteDrawing( hExtDrw );
// insert loaded blocks
X = 0.0;
Y = 0.0;
Scale = 1.0;
Angle = 0.0;
for (i=0; i<5; ++i){
hBlkRef = lcBlockAddBlockRef( hBlock, hNewBlock[i], X, Y, Scale, Angle );
X = X + 500.0;
}
// update and display
lcBlockUpdate( hBlock, true, 0 );
lcWndExeCommand( hLcWnd, LC_CMD_ZOOM_EXT, 0 );
}