RVT 和 RFA 文件可能包含某些符号(例如族)的预览,可以使用 OdBmSymbol 类提取这些预览。
使用 getPreviewImage() 方法提取预览图像(如果可用)。它将 OdThumbnailImage 对象作为参数并用于输出。预览通常是 128 x 128 PNG 位图,存储在 OdThumbnailImage 对象的 bmp 字段中。
预览图像数据可以使用 getRasterImage() 方法导出到文件或转换为 OdGiRasterImage 对象。
您可能希望使用此转换,以便使用 OdRxRasterServices 类缩放图像。
OdThumbnailImage preview;
if (pSymbol->getPreviewImage(preview) == eOk && preview.hasPng()) {
auto pFile = odrxSystemServices()->createFile(exportDir + getPreviewFileName(pSymbol),
Oda::kFileWrite, Oda::kShareDenyReadWrite, Oda::kCreateAlways);
pFile->putBytes(preview.png.getPtr(), preview.png.size());
}
您还可以通过运行以下两个命令在 ODA Bim App 中尝试此功能:
- BmAllSymbolsPreview 将所有检测到的符号预览图像保存到源文件目录,文件名由符号名称及其 ID 生成。
- BmSymbolPreview 将当前选定元素或通过输入 ID 找到的元素的符号预览图像导出到指定文件;该文件按照与第一个命令相同的规则创建。