Reading Notes from a 3dm
Demonstrates how to read the user-added notes field from a 3DM file using either C/C++ or the openNURBS toolkit.
bool ReadNotesFromRhino3dmFile( const wchar_t* filename, ON_wString& notes )
{
if( 0 == filename || 0 == filename[0] )
return false;
// STEP 1: Open the file
FILE* archive_fp = ON::OpenFile( filename, L"rb" );
if( 0 == archive_fp )
return false;
// STEP 2: Create a binary archive object
ON_BinaryFile archive( ON::read3dm, archive_fp );
// STEP 3: Read 3dm start section
int file_version = 0;
ON_String start_section_comments;
if( !archive.Read3dmStartSection(&file_version, start_section_comments) )
{
ON::CloseFile( archive_fp );
return false;
}
// STEP 4: Read 3dm properties section
ON_3dmProperties properties;
if( !archive.Read3dmProperties(properties) )
{
ON::CloseFile( archive_fp );
return false;
}
// STEP 5: Close the file
ON::CloseFile( archive_fp );
// return the notes
notes = properties.m_Notes.m_notes;
return true;
}