Тема: AcDbDiametricDimension

Подскажите как использовать AcDbDiametricDimension. Создал окружность, хочу проставить ее диаметр, пока что не получается. Делаю так:
double Radius;
        AcDbObjectId
        createCircle();
        {
            AcGePoint3d center(0,0, 0.0);
            AcGeVector3d normal(0.0, 0.0, 1.0);
            AcDbCircle *pCirc = new AcDbCircle(center, normal, Radius);
            AcDbBlockTable *pBlockTable;
            pCirc->setColorIndex(5);
            acdbHostApplicationServices()->workingDatabase()
                ->getSymbolTable(pBlockTable, AcDb::kForRead);
            AcDbBlockTableRecord *pBlockTableRecord;
            pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord,
                AcDb::kForWrite);
            pBlockTable->close();
            AcDbObjectId circleId;
            pBlockTableRecord->appendAcDbEntity(circleId, pCirc);
            pBlockTableRecord->close();
            pCirc->close();
        }
            //Проставляем размер - наружный диаметр
        AcGePoint3d p1Diametric;
        p1[X] = - Radius; p1[Y] = 0; p1[Z] = 0;
       
        AcGePoint3d p2Diametric;
        p2[X] = Radius; p2[Y] = 0; p2[Z] = 0;
   
        double p3Diametric=2* Radius
       
       
        AcDbDiametricDimension *pDimDiametric = new AcDbDiametricDimension(p1Diametric,p2Diametric,p3Diametric,_T("<>"));
   
        pDimDiametric->setColorIndex(2);
        postToDb(pDimDiametric);
        pDimDiametric->close();

Re: AcDbDiametricDimension

static void CreateDiametricDimension(void)
{
  AcGePoint3d p1, p2;
  double rad;
  if (acedGetPoint(NULL,"\nУкажите центр окружности: ",asDblArray(p1)) == RTNORM &&
    acedGetDist(asDblArray(p1),"\nУкажите радиус окружности: ",&rad) == RTNORM)
  {
    acdbUcs2Wcs(asDblArray(p1),asDblArray(p1),false); acdbUcs2Wcs(asDblArray(p2),asDblArray(p2),false);
    AcDbCircle *pCirc = new AcDbCircle(p1,AcGeVector3d::kZAxis,rad);
    pCirc->setDatabaseDefaults();
    postToDatabase(acdbCurDwg()->currentSpaceId(),pCirc);
    pCirc->close();
    if (acedGetPoint(asDblArray(p1),"\nУкажите местоположение размерной линии: ",asDblArray(p2)) == RTNORM) {
      double leaderlen = 20;
      AcGeVector3d v = p2 - p1; v.normalize();
      p1 = p1 + rad*v; p2 = p1 - rad*v;
      AcDbDiametricDimension *pDim = new AcDbDiametricDimension(p1,p2,leaderlen);
      pDim->setDatabaseDefaults();
      postToDatabase(acdbCurDwg()->currentSpaceId(),pDim);
      pDim->close();
    }
  }
}

postToDatabase здесь: https://www.caduser.ru/forum/topic29833.html

Re: AcDbDiametricDimension

P.S.: В предудущем тексте опечатка. Смотреть исправленый код.

Re: AcDbDiametricDimension

Благодарю за помощь