天气与日历 切换到窄版

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

最简单的方法是将该行添加为持久性reactor

[复制链接]
  • TA的每日心情
    开心
    昨天 15:23
  • 签到天数: 69 天

    [LV.6]常住居民II

    410

    主题

    167

    回帖

    2704

    积分

    管理员

    积分
    2704
    发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
    [code]bool SelectEntity(LPCWSTR prompt, AcDbObjectId &objid)
    {
            ads_point pt;
            ads_name ename;
            if (acedEntSel(prompt, ename, pt) != RTNORM)
                    return false;
            return (acdbGetObjectId(objid, ename) == Acad::eOk);       
    }

    void cmdTestConnectPersistReactor()
    {
            AcDbObjectId idCar, idEngine, idLine;
            if (!SelectEntity(L"\nSelect car: ", idCar))
                    return;
            if (!SelectEntity(L"\nSelect engine: ", idEngine))
                    return;
            if (!SelectEntity(L"\nSelect connection line: ", idLine))
                    return;

            Acad::ErrorStatus es;
            AcDbEntity *pLine;
            if ((es = acdbOpenObject(pLine, idLine, AcDb::kForWrite)) == Acad::eOk)
            {
                    pLine->addPersistentReactor(idCar);
                    pLine->addPersistentReactor(idEngine);
                    pLine->close();
            }
    }

    void cmdPrintReactors()
    {
            AcDbObjectId idLine;
            if (!SelectEntity(L"\nSelect connection line: ", idLine))
                    return;

            Acad::ErrorStatus es;
            AcDbEntity *pLine;
            const AcDbVoidPtrArray *reactors = nullptr;

            if ((es = acdbOpenObject(pLine, idLine, AcDb::kForRead)) == Acad::eOk)
            {
                    reactors = pLine->reactors();
                    pLine->close();
            }
            if (reactors)
            {
                    void* pSomething = 0;
                    for (int j = 0; j < reactors->length(); j++)
                    {
                            void *pSomething = reactors->at(j);
                            if (acdbIsPersistentReactor(pSomething))
                            {
                                    AcDbObjectId objId = acdbPersistentReactorObjectId(pSomething);
                                    AcDbObject *pObj;
                                    if ((es = acdbOpenObject(pObj, objId, AcDb::kForRead)) == Acad::eOk)
                                    {
                                            LPCTSTR className = pObj->isA()->name();
                                            acutPrintf(L"\nFound a reactor of class %s", className);
                                            pObj->close();
                                    }
                            }
                    }
            }
    }[/code]

     

     

     

     

    最简单的方法是将该行添加为持久性reactor
    中国膜结构网打造全中国最好的膜结构综合平台 ,统一协调膜结构设计,膜结构施工,膜材采购,膜材定制,膜结构预算全方位服务。 中国空间膜结构协会合作单位。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

    GMT+8, 2024-7-1 05:45 , Processed in 0.056447 second(s), 22 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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