void DemoCmdInsert (HANDLE hLcWnd)
{
HANDLE hDrw, hBlock, hBlkRef;
WCHAR* szBlockName = L"Block 007";
double X, Y;
// get the drawing linked with CAD window
hDrw = lcPropGetHandle( hLcWnd, LC_PROP_WND_DRW );
// specify the block to be inserted
hBlock = lcDrwGetObjectByName( hDrw, LC_OBJ_BLOCK, szBlockName );
if (hBlock != 0){
lcPropPutHandle( 0, LC_PROP_BLKREF_BLOCK, hBlock );
// specify position on-screen
lcPropPutBool( 0, LC_PROP_BLKREF_ONS_XY, true );
// set fixed scale
lcPropPutBool( 0, LC_PROP_BLKREF_ONS_SCALE, false );
lcPropPutFloat( 0, LC_PROP_BLKREF_SCALE, 0.5 );
// set fixed rotation angle
lcPropPutBool( 0, LC_PROP_BLKREF_ONS_ANGLE, false );
lcPropPutFloat( 0, LC_PROP_BLKREF_ANGLE, 45*LC_DEG_TO_RAD );
// run the command to insert a block without a dialog
lcWndExeCommand( hLcWnd, LC_CMD_INSERT, LC_INSERT_NODLG );
// get handle to the block reference that was created by the command
hBlkRef = lcPropGetHandle( 0, LC_PROP_BLKREF_RETURN );
if (hBlkRef != 0){
// get coordinates of insertion point
X = lcPropGetFloat( hBlkRef, LC_PROP_BLKREF_X );
Y = lcPropGetFloat( hBlkRef, LC_PROP_BLKREF_Y );
}
// reset default mode to LC_INSERT_DLG
lcWndExeCommand( hLcWnd, LC_CMD_INSERT, LC_INSERT_RESET );
}
}