天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 50|回复: 0

函数PromptSelectEntity

[复制链接]

该用户从未签到

主题

0

回帖

2912

积分

管理员

积分
2912
发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
static bool PromptSelectEntity(const TCHAR* prompt, AcRxClass* classDesc, AcDbEntity *&pEnt,
                AcGePoint3d &pickPoint, bool bOpenForWrite = true);

        static bool PromptSelectEntity(const TCHAR* prompt, const std::vector<AcRxClass*> &classDescs, AcDbEntity *&pEnt,
                AcGePoint3d &pickPoint, bool bOpenForWrite = true);[code]bool CArcBlockJig::PromptSelectEntity(const TCHAR* prompt, AcRxClass* classDesc, AcDbEntity *&pEnt,
        AcGePoint3d &pickPoint, bool bOpenForWrite /*= true*/)
{
        std::vector<AcRxClass*> descs;  //#include <vector>
        descs.push_back(classDesc);

        return PromptSelectEntity(prompt, descs, pEnt, pickPoint, bOpenForWrite);
}

bool CArcBlockJig::PromptSelectEntity(const TCHAR* prompt, const std::vector<AcRxClass*> &classDescs, AcDbEntity *&pEnt,
        AcGePoint3d &pickPoint, bool bOpenForWrite /*= true*/)
{
        ads_name ename;
RETRY:
        if (acedEntSel(prompt, ename, asDblArray(pickPoint)) != RTNORM)
        {
                pEnt = NULL;
                return false;
        }

        AcDbObjectId entId;
        acdbGetObjectId(entId, ename);

        // 判断选择的实体是否是指定类型的实体
        Acad::ErrorStatus es;
        if (bOpenForWrite)
        {
                es = acdbOpenObject(pEnt, entId, AcDb::kForWrite);
        }
        else
        {
                es = acdbOpenObject(pEnt, entId, AcDb::kForRead);
        }
        assert(es == Acad::eOk);
        bool bRet = false;
        for (int i = 0; i < (int)classDescs.size(); i++)
        {
                if (pEnt->isKindOf(classDescs[i]))
                {
                        bRet = true;
                        break;
                }
        }

        if (bRet)
        {
                return true;
        }
        else
        {
                pEnt->close();
                acutPrintf(TEXT("\n选择的实体类型不合要求, 请再次选择..."));
                goto RETRY;
        }
}[/code]

 

 

 

 

函数PromptSelectEntity
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

GMT+8, 2024-11-1 11:28 , Processed in 0.135006 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表