//提示用户输入整数/实数
int stat, iValue ;
double rValue ;
char kWord [133] ;
//提示用户输入一个整数
acedInitGet (RSG_NONEG | RSG_NOZERO, "") ;
if ( acedGetInt ("/nEnter an integer value: ", &iValue) != RTNORM ) return ;
//提示用户输入一个实数
rValue =12.0 ;
acedInitGet (RSG_NOZERO, "PI A B C") ;
stat =acedGetReal ("/nEnter a real value [PI/A/B/C] <C>: ", &rValue) ;
switch (stat) {
case RTCAN: // User termination
return ;
case RTKWORD: // Got a keyword
if ( acedGetInput (kWord) != RTNORM ) return ;
if ( !strcmp ("PI", kWord) ) rValue =3.14 ;
else if ( !strcmp (“A”, kWord) ) rValue =10 ;
else if ( !strcmp (“B”, kWord) ) rValue =11 ;
break ;
case RTNONE:
acutPrintf ("/nTake default rValue %lf", rValue) ;
break ;
default: return ;
}
// 打印输出
acutPrintf ("/nInteger : %d", iValue) ;
acutPrintf ("/nReal : %lf", rValue) ;
//提示用户输入字符串
char yourname[133];
acedGetString(0,"/nEnter your name here:",yourname);
acutPrintf("/nYour name is %s", yourname);
//选择实体(简单的)
ads_name en;
ads_point pt;
if (acedEntSel(NULL,en,pt) != RTNORM)
return;
// 或者用AcGePoint3d:
//AcGePoint3d pt ; //ads_name en ;
//if ( acedEntSel (NULL, en, asDblArray (pt)) != RTNORM ) // return ;
acutPrintf("/nYou selected entity with ID %ld", en[0]);
//获取距离
ads_real rDist;
acedGetDist(pt,"/nPick the another point", &rDist);
acutPrintf("/nThe distance is %lf",rDist);
//文件打开对话框
struct resbuf *rb;
char *fname;
rb = acutNewRb(RTSTR);
Acad::ErrorStatus es;
acedGetFileD("选择包含块定义的图", NULL, "dwg", 0, rb);
if(acutNewString(rb->resval.rstring,fname) != Acad::eOk ){
acutPrintf("/n 分配字符串内存失败");
acutRelRb(rb);
return;
}
acutRelRb(rb);
acutPrintf("/nYou opened drawing %s",fname);
acutDelString(fname);