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

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. VS2017 +NetCore2.2.0+WebApi项目整合SwaggerUI 以及遇到的坑

    1.新建一个WebApi项目,这里不说了. 2.打开项目nuget管理控制台,在 https://www.nuget.org/ 搜索swagger的包:Swashbuckle.AspNetCore , ...

  2. 用Docker创建Nexus

    步骤如下: 1. 创建持久化目录 $ mkdir /some/dir/nexus-data && chown -R 200 /some/dir/nexus-data 2. 创建镜像并运 ...

  3. [JavaEE] Create API documents with Swagger

    We mainly need to modify our Model and REST endpoint code to enable swagger Document. model/Book.jav ...

  4. mvc使用mongodb时objectId序列化与反序列化

    前面有写使用自己的mvc 序列化工具即jsonNetResult.我这里结合之前写的jsonNetResult来做一个Json序列化工具,而且序列化ObjectId成一个字符串.详细代码例如以下 us ...

  5. python-paramiko初体验

    什么pexpect.pxshll在paramiko面前都是浮云,重要的是paramiko支持windows. 小试牛刀 import paramiko paramiko.util.log_to_fil ...

  6. Bitmap通过getWidth和getHeight获取尺寸不符

    在使用BitmapFactory载入图片时,常会出现这样的情况,返回的图片尺寸与实际尺寸不符.这是因为我们把图片资源放到res/drawable文件路径下时,选择的文件不同所致.不同的目录会有不同的缩 ...

  7. P1830 轰炸III

    P1830 轰炸III 84通过 145提交 题目提供者wanglichao1121 标签模拟矩阵洛谷原创 难度普及/提高- 提交该题 讨论 题解 记录 最新讨论 暂时没有讨论 题目背景 一个大小为N ...

  8. 关于EditText的android:maxLength属性的注意事项

    一直以为在xml布局文件中对EditText添加 android:maxLength="30";属性是控制EditText字符数的.想当然的以为一个中文占2个字符,一个英文占1个字 ...

  9. how to use webpart container in kentico

    https://docs.kentico.com/k11/developing-websites/developing-websites-using-the-portal-engine/using-w ...

  10. bzoj3112

    http://www.lydsy.com/JudgeOnline/problem.php?id=3112 模板题...模板又打错了... #include<bits/stdc++.h> u ...