我想建立一个匿名块,然后画一个圆,把这圆加入该块。建立匿名块代码我是照抄objectarx的帮助里面的代码,画圆是我自己写的。可是程序在关闭匿名块时总是无法关闭Unable to close anonymous block,调试发现status != RTKWORD,而是status =RTREJ.全部代码如下
struct resbuf *entlist; 
ads_point basept; 
char newblkname[20]; 
 
ads_point pnt1 = ( 0.0, 0.0, 0.0); 
entlist = acutBuildList(
    RTDXF0, "BLOCK", 
    2, "*ANON", // Only the '*' matters.
    10, "1", // No other flags are set.
    0 ); 
 
if (entlist == NULL) { 
    acdbFail("Unable to create result buffer list\n"); 
    return BAD; 

 
status = acdbEntMake(entlist); 
acutRelRb(entlist); // Release acdbEntMake buffer.
 
if (status != RTNORM) {     acdbFail("Unable to start anonymous block\n"); 
    return BAD; 

ads_point center = {5.0, 7.0, 0.0}; 
char *layer = "MYLAYER"; 
entlist = acutBuildList(RTDXF0, "CIRCLE",// Entity type  
    8, layer, // Layer name 
    10, center, // Center point 
    40, 10.0, // Radius 
    0 ); 
 
if (entlist == NULL) { 
    acdbFail("Unable to create result buffer list\n"); 
    return ; 

 
status = acdbEntMake(entlist); //程序运行到这儿出了问题
if(acutRelRb(entlist)!=RTNORM)
return; // Release acdbEntMake buffer.
 
if (status == RTERROR) {     acdbFail("Unable to make circle entity\n"); 
    return ; 
}
   entlist = acutBuildList(RTDXF0, "ENDBLK", 0 ); 
 
if (entlist == NULL) { 
    acdbFail("Unable to create result buffer list\n"); 
    return BAD; 

 
status = acdbEntMake(entlist); 
acutRelRb(entlist); // Release acdbEntMake buffer.
 
if (status != RTKWORD) { 
    acdbFail("Unable to close anonymous block\n"); 
    return BAD; } 
status = acedGetInput(newblkname); 
 
if (status != RTNORM) { 
    acdbFail("Anonymous block not created\n"); 
    return BAD; }