20/12/2013
Получение информации из прокси-примитивов
Вы можете воспользоваться классом “AcDbProxyEntity” для получения оригинального имени класса, оригинального dxf-имени и числа ссылок на этот примитив в файле чертежа.
Ниже код, который получает “originalClassName” и “originalDxfName” прокси-примитива.
Код - C++: [Выделить]
- void GetProxyInfo()
- {
- int nReturn ;
- ads_name name;
- ads_point pt;
- nReturn = acedEntSel(_T("\nВыберите прокси-примитив: "), name, pt);
- if(nReturn != RTNORM)
- return;
- // Получаем ObjectId примитива
- AcDbObjectId Id;
- if(acdbGetObjectId(Id, name) != Acad::eOk)
- return;
- // Открываем выбранный примитив
- AcDbObject *pObject = NULL;
- if(acdbOpenAcDbObject(pObject, Id, AcDb::kForRead) != Acad::eOk)
- {
- return;
- }
- AcDbProxyEntity *pProxy = AcDbProxyEntity::cast(pObject);
- if(pProxy != NULL)
- {
- acutPrintf(_T("\nОригинальное имя класса : %s"), pProxy->originalClassName());
- acutPrintf(_T("\nDXF имя : %s"), pProxy->originalDxfName());
- acutPrintf(_T("\nОписание : %s"), pProxy->applicationDescription());
- }
- pObject->close();
- }
Источник: http://adndevblog.typepad.com/autocad/2012/08/getting-proxy-entitys-information.html
Обсуждение: http://adn-cis.org/forum/index.php?topic=407
Опубликовано 20.12.2013Отредактировано 21.12.2013 в 11:58:56