Code sample Home

Create dimensions
void DemoDims (HANDLE hLcWnd)
{
  HANDLE hBlock, hEnt;
  WCHAR* szColor = L"200,150,50";

  // get a block linked to graphics window
  hBlock = lcPropGetHandle( hLcWnd, LC_PROP_WND_BLOCK );
  // linear dimensions
  lcBlockAddDimLin( hBlock, 0,0, 30,20, 15,40, 10*LC_DEG_TO_RAD, L"L=<>" );
  lcBlockAddDimLin( hBlock, 0,0, 30,20, 40,10, 95*LC_DEG_TO_RAD, L"" );
  lcBlockAddDimHor( hBlock, 100,0, 130,20, 40, L"L=<>" );
  lcBlockAddDimVer( hBlock, 100,0, 130,20, 140, L"" );
  // aligned dimensions
  lcBlockAddDimAli( hBlock, 0,0, 30,20, 0,50, L"" );
  lcBlockAddDimAli2( hBlock, 100,0, 130,20, 20, L"" );
  // ordinate dimensions
  lcBlockAddDimOrd( hBlock, 40,30, 35,50, true, L"X=<>" );
  lcBlockAddDimOrd( hBlock, 40,30, 60,35, false, L"Y=<>" );
  // additional entities
  hEnt = lcBlockAddArc( hBlock, 70,50, 20, -30*LC_DEG_TO_RAD, 90*LC_DEG_TO_RAD );
  lcPropPutStr( hEnt, LC_PROP_ENT_COLOR, szColor );
  lcPropPutBool( hEnt, LC_PROP_ARC_SECTOR, true );
  hEnt = lcBlockAddArc( hBlock, 70,50, 28.284, -110*LC_DEG_TO_RAD, 200*LC_DEG_TO_RAD );
  lcPropPutStr( hEnt, LC_PROP_ENT_COLOR, szColor );
  hEnt = lcBlockAddCircle( hBlock, 170,50, 20, false );
  lcPropPutStr( hEnt, LC_PROP_ENT_COLOR, szColor );
  // radius  dimensions
  lcBlockAddDimRad( hBlock, 70,50, 90,50, 100,50, L"" );
  lcBlockAddDimRad2( hBlock, 170,50, 20,-30*LC_DEG_TO_RAD, 10, L"" );
  // diameter dimensions
  lcBlockAddDimDia( hBlock, 70,50, 90,70, 80,100, L"" );
  lcBlockAddDimDia2( hBlock, 170,50, 20,30*LC_DEG_TO_RAD, 30, L"" );
  // angular dimensions
  lcBlockAddDimAng( hBlock, 0,100, 10,100, 0,110, 20,101, 0.5, L"" );
  lcBlockAddDimAng( hBlock, 0,100, 10,98, 10,100, 23,99.9, -2, L"" );
  lcBlockAddDimAng2( hBlock, 50,100, 60,100, 50,110, 60,111, 70,100, 0.5, L"" );
  // update view
  lcBlockUpdate( hBlock, false, 0 );
  lcWndExeCommand( hLcWnd, LC_CMD_ZOOM_EXT, 0 );
}
This will create a drawing as shown on the picture below:





Used functions:

lcPropGetHandle
lcBlockAddCircle

lcBlockAddDimAli
lcBlockAddDimAli2
lcBlockAddDimAng
lcBlockAddDimAng2
lcBlockAddDimDia
lcBlockAddDimDia2
lcBlockAddDimHor
lcBlockAddDimLin
lcBlockAddDimOrd
lcBlockAddDimRad
lcBlockAddDimRad2
lcBlockAddDimVer

lcBlockUpdate
lcWndExeCommand