// 提示用户选择选择方式

acedInitGet(0, _T("W CP"));

int nRs = acedGetKword(_T("\n请输入关键字确定选择方式[窗选(W)/圈交(CP)]:<点选>"), szKword);

if (RTCAN == nRs)   // 取消

{

return;

}

elseif (RTNONE == nRs)  // 默认为点选

{

// 让用户选择一个点

ads_point pt;

nRs = acedGetPoint(NULL, _T("\n请选择点:"), pt);

if (RTNORM != nRs)  // 取消

return;

nRs = acedSSGet(NULL, pt, NULL, NULL, ss);

}

elseif (RTNORM == nRs)

{

if (_tcscmp(szKword, _T("W")) == 0)

{

// W方式选择集,需要两个点

ads_point pt1, pt2;

nRs = acedGetPoint(NULL, _T("\n请输入第一个角点:"), pt1);

if (RTNORM != nRs)

return;

nRs = acedGetPoint(pt1, _T("\n请输入第二个角点:"), pt2);

if (RTNORM != nRs)

return;

nRs = acedSSGet(_T("W"), pt1, pt2, NULL, ss);

}

elseif (_tcscmp(szKword, _T("CP")) == 0)

{

// CP方式构造选择集,需要一组点,此处需要四个点

ads_point pt[4];

nRs = acedGetPoint(NULL, _T("\n输入第一个点:"), pt[0]);

if (RTNORM != nRs)

return;

nRs = acedGetPoint(pt[0], _T("\n第二个点:"), pt[1]);

if (RTNORM != nRs)

return;

nRs = acedGetPoint(pt[1], _T("\n第三个点:"), pt[2]);

if (RTNORM != nRs)

return;

nRs = acedGetPoint(pt[2], _T("\n第四个点:"), pt[3]);

if (RTNORM != nRs)

return;

resbuf* pRb = acutBuildList(RTPOINT, pt[0], RTPOINT, pt[1], RTPOINT, pt[2], RTPOINT, pt[3], 0);

nRs = acedSSGet(_T("CP"), pRb, NULL, NULL, ss);

acutRelRb(pRb);

}

else

{

acutPrintf(_T("\n无效输入"));

return;

}

}

else

{

acutPrintf(_T("\n无效输入"));

return;

}

if (RTNONE == nRs)

{

acutPrintf(_T("\n选择集为空"));

return;

}

elseif (RTNORM != nRs)

{

acutPrintf(_T("\n构建选择集失败"));

return;

}

//////////////////////////////////////////////////////////////////////////

// 遍历选择集,删除实体

long lLen = 0;

acedSSLength(ss, &lLen);

for (long index = 0; index < lLen; index++)

{

ads_name ent;

AcDbObjectId objId;

acedSSName(ss, index, ent);

acdbGetObjectId(objId, ent);

if (!objId.isValid())

continue;

AcDbEntity* pEnt = NULL;

if (Acad::eOk != acdbOpenAcDbEntity(pEnt, objId, AcDb::kForWrite))

continue;

pEnt->erase();

pEnt->close();

}

acutPrintf(_T("\n删除成功"));

return;

}

} ;

acedinitget的更多相关文章

  1. ObjectARX® for Beginners: An Introduction

    转:ObjectARX® for Beginners: An Introduction Lee Ambrosius – Autodesk, Inc.         CP4164-L    Objec ...

  2. acedSSGet 翻译

    ObjectARX 参考指南 > 全局函数 > AcEd 全局函数 > acedSSGet 函数 acedSSGet 折叠全部 C++ int acedSSGet( const AC ...

  3. 类似倒圆角方法输入半径选择实体 kword

    ads_name ename; ads_point adspt; acedInitGet(NULL, TEXT("R")); while (1) { int rc = acedEn ...

随机推荐

  1. postgresql备份和恢复

    备份: pg_dump -d m3vg -h localhost -p 5432 -U delta -W -f 1024.dump -F tar 恢复: pg_restore -h localhost ...

  2. ROBODK仿真如何设置运动速度

    设置工具-选项-运动,把仿真时间设置成跟正常一样   然后双击机器人,设置参数(可以设置movej和movel的速度,加速度)  

  3. automaticallyAdjustsScrollViewInsets 使用

    automaticallyAdjustsScrollViewInsets(个人认为iOS7中略坑爹的属性) @当我们在一个UIViewController中同时创建2个tableView的时候,如果把 ...

  4. hdu 1248 寒冰王座(暴力)

    寒冰王座 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  5. 全然卸载oracle11g步骤

    iLife's 博客http://blog.csdn.net/fei1502816 全然卸载oracle11g步骤: 1. 開始->设置->控制面板->管理工具->服务 停止全 ...

  6. Codeforces Round #273 (Div. 2)C. Table Decorations 数学

    C. Table Decorations   You have r red, g green and b blue balloons. To decorate a single table for t ...

  7. maven使用(转载)

    一.安装配置: 1.安装配置JDK    java/javac -version 2.安装配置maven   mvn -v 3.下载项目模板    mvn archetype:generate 二.详 ...

  8. 常见的几种异常类型Exception

    转自:https://blog.csdn.net/niceworkgogogo/article/details/71746208 算数异常类:ArithmeticExecption 空指针异常类型:N ...

  9. Django - CBV装饰器实现用户登录验证

    一.使用Django自带的decorator 通常情况,使用 函数定义的view,可以直接使用 login_required 直接装饰 @login_required def index(reques ...

  10. Maya Calendar

    http://poj.org/problem?id=1008 按第一种记录方法算出总天数,然后按第二种记录方式输出. #include<stdio.h> #include<strin ...