Подскажите, пожалуйста, как получить список всех параметров в открытом CATDrawing. (Вообще-то нужен один, но, видимо, он все равно из списка получается)
В примере получают для парта.
- Код: Выделить всё
// Get all the parameters under the part
CATIParmPublisher_var spParmPub(spSpecObjectPart);
if (!! spParmPub)
{
spParmPub->GetAllChildren("CATICkeParm",oListParameters);
}
Причем у меня dll и обращение к чертежу CATDrawing идет через агента выбора _pObjectAgent
Например, для построения линий получаем CATI2DWFFactory через объект pElemPath
- Код: Выделить всё
CATSO* pObjSO = _pObjectAgent->GetListOfValues();
CATPathElement *pElemPath = NULL;
CATIDftGenGeom * piGenGeom = NULL;
CATUnicodeString BuiltMessage1 ;
CATUnicodeString partNumber;
if (NULL != pObjSO)
{
// We will scan the CSO from the begining
pObjSO->InitElementList();
while (NULL != (pElemPath = (CATPathElement*)pObjSO->NextElement()) )
{
// Make sure the element is a circle type
// Thi circle can be interactive or a generative result (from part, model, ...)
CATBaseUnknown *piElementRef = (CATBaseUnknown *)pElemPath->CurrentElement();
if (NULL != piElementRef)
{
CATI2DWFFactory *piDrwFact = (CATI2DWFFactory *)pElemPath->FindElement(IID_CATI2DWFFactory);
.....
}
}
}
А как теперь на уровень документа CATDrawing выйти, чтобы его параметры получить?
Заранее благодарность за любой намек!