Code sample Home

Add two attribute definitions into the block "KM", created by the code sample
void DemoBlockAttAdd (HANDLE hLcWnd)
{
  HANDLE hDrw, hBlock, hBlock2;
  WCHAR* szBlockName = L"KM";
  WCHAR* szTag1 = L"LEFT";
  WCHAR* szTag2 = L"RIGHT";
  double X, Y, H, Ang, Gap, WScale;

  // get drawing and block, linked with CAD window
  hDrw = lcPropGetHandle( hLcWnd, LC_PROP_WND_DRW );
  hBlock = lcPropGetHandle( hLcWnd, LC_PROP_WND_BLOCK );
  // find required block
  hBlock2 = lcDrwGetObjectByName( hDrw, LC_OBJ_BLOCK, szBlockName );
  if (hBlock2 != 0){
    // add attributes
    Ang = 90.0 * LC_DEG_TO_RAD;
    H = 2.0;
    X = 0.0;
    Y = -5.0;
    Gap = H * 0.4;
    WScale = 0.8;
    lcBlockAddAttDef( hBlock2, 0, szTag1, L"", L"LEF", X-Gap, Y, LC_TA_CENBOT, H, WScale, Ang, 0.0 );
    lcBlockAddAttDef( hBlock2, 0, szTag2, L"", L"RIG", X+Gap, Y, LC_TA_CENTOP, H, WScale, Ang, 0.0 );
    // update attributes in block references
    lcDrwUpdateBlkRefs( hDrw, hBlock2 );
    // redraw window
    lcWndRedraw( hLcWnd );
  }
}
This will create a drawing as shown on the picture below:



See Also:

Modify attributes values in block references