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 ...
随机推荐
- postgresql备份和恢复
备份: pg_dump -d m3vg -h localhost -p 5432 -U delta -W -f 1024.dump -F tar 恢复: pg_restore -h localhost ...
- ROBODK仿真如何设置运动速度
设置工具-选项-运动,把仿真时间设置成跟正常一样 然后双击机器人,设置参数(可以设置movej和movel的速度,加速度)
- automaticallyAdjustsScrollViewInsets 使用
automaticallyAdjustsScrollViewInsets(个人认为iOS7中略坑爹的属性) @当我们在一个UIViewController中同时创建2个tableView的时候,如果把 ...
- hdu 1248 寒冰王座(暴力)
寒冰王座 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- 全然卸载oracle11g步骤
iLife's 博客http://blog.csdn.net/fei1502816 全然卸载oracle11g步骤: 1. 開始->设置->控制面板->管理工具->服务 停止全 ...
- 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 ...
- maven使用(转载)
一.安装配置: 1.安装配置JDK java/javac -version 2.安装配置maven mvn -v 3.下载项目模板 mvn archetype:generate 二.详 ...
- 常见的几种异常类型Exception
转自:https://blog.csdn.net/niceworkgogogo/article/details/71746208 算数异常类:ArithmeticExecption 空指针异常类型:N ...
- Django - CBV装饰器实现用户登录验证
一.使用Django自带的decorator 通常情况,使用 函数定义的view,可以直接使用 login_required 直接装饰 @login_required def index(reques ...
- Maya Calendar
http://poj.org/problem?id=1008 按第一种记录方法算出总天数,然后按第二种记录方式输出. #include<stdio.h> #include<strin ...