Get the name of a part from the occurrence or the definition

Top  Previous  Next

See also GetOccurenceName


First note the difference between DisplayName and PartName:




If you have the occurrence of a part you can get the display name of it (with its :count part), the filename, like this:


    CComPtr<ReferencedFileDescriptor> pRefFileDescA = pOccA->ReferencedFileDescriptor ;

    CComBSTR bstrAName;

    HRESULT hRes = pRefFileDescA->get_DisplayName (&bstrAName) ;

    CString csAName ;

    if (SUCCEEDED(hRes)) { 

        csAName = CString  (bstrAName) ;




If you have a part component definition:


CString GetPartName (CComPtr<PartComponentDefinition>& pPartCompDef)


   CString csPartName;

   CComPtr<Document> pDocument;

   HRESULT hRes = pPartCompDef->get_Document((IDispatch**)&pDocument);


   if (FAILED(hRes)) {

       ShowCOMError(hRes, L"Could not get part name pDocument");

       return csPartName;



   CComBSTR bstrPartName;

   hRes = pDocument->get_DisplayName(&bstrPartName);


   if (FAILED(hRes)) {

       ShowCOMError(hRes, L"Could not get part name display name");

       return csPartName;



   csPartName = CString  (bstrPartName) ;


   return csPartName;




Text, images and diagrams © 2021 Owen F. Ransen. All rights reserved. (But copy the source code as much as you want!)