acedinitget
// 提示用户选择选择方式
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的更多相关文章
- ObjectARX® for Beginners: An Introduction
转:ObjectARX® for Beginners: An Introduction Lee Ambrosius – Autodesk, Inc. CP4164-L Objec ...
- acedSSGet 翻译
ObjectARX 参考指南 > 全局函数 > AcEd 全局函数 > acedSSGet 函数 acedSSGet 折叠全部 C++ int acedSSGet( const AC ...
- 类似倒圆角方法输入半径选择实体 kword
ads_name ename; ads_point adspt; acedInitGet(NULL, TEXT("R")); while (1) { int rc = acedEn ...
随机推荐
- VS2017 +NetCore2.2.0+WebApi项目整合SwaggerUI 以及遇到的坑
1.新建一个WebApi项目,这里不说了. 2.打开项目nuget管理控制台,在 https://www.nuget.org/ 搜索swagger的包:Swashbuckle.AspNetCore , ...
- 用Docker创建Nexus
步骤如下: 1. 创建持久化目录 $ mkdir /some/dir/nexus-data && chown -R 200 /some/dir/nexus-data 2. 创建镜像并运 ...
- [JavaEE] Create API documents with Swagger
We mainly need to modify our Model and REST endpoint code to enable swagger Document. model/Book.jav ...
- mvc使用mongodb时objectId序列化与反序列化
前面有写使用自己的mvc 序列化工具即jsonNetResult.我这里结合之前写的jsonNetResult来做一个Json序列化工具,而且序列化ObjectId成一个字符串.详细代码例如以下 us ...
- python-paramiko初体验
什么pexpect.pxshll在paramiko面前都是浮云,重要的是paramiko支持windows. 小试牛刀 import paramiko paramiko.util.log_to_fil ...
- Bitmap通过getWidth和getHeight获取尺寸不符
在使用BitmapFactory载入图片时,常会出现这样的情况,返回的图片尺寸与实际尺寸不符.这是因为我们把图片资源放到res/drawable文件路径下时,选择的文件不同所致.不同的目录会有不同的缩 ...
- P1830 轰炸III
P1830 轰炸III 84通过 145提交 题目提供者wanglichao1121 标签模拟矩阵洛谷原创 难度普及/提高- 提交该题 讨论 题解 记录 最新讨论 暂时没有讨论 题目背景 一个大小为N ...
- 关于EditText的android:maxLength属性的注意事项
一直以为在xml布局文件中对EditText添加 android:maxLength="30";属性是控制EditText字符数的.想当然的以为一个中文占2个字符,一个英文占1个字 ...
- how to use webpart container in kentico
https://docs.kentico.com/k11/developing-websites/developing-websites-using-the-portal-engine/using-w ...
- bzoj3112
http://www.lydsy.com/JudgeOnline/problem.php?id=3112 模板题...模板又打错了... #include<bits/stdc++.h> u ...