PRC (Datenformat)
# PRC (Datenformat)

PRC (Product Representation Compact) ist ein standardisiertes Datenformat für die Darstellung von 3D-Daten. Es ist insbesondere als Bestandteil von 3D-PDF verbreitet, da der Adobe Reader 3D-Daten im PRC-Format nativ anzeigen kann. Der Hauptanwendungsfall liegt im Austausch von CAD-Modellen, der damit ähnlich unkompliziert wie der von PDF-Dokumenten sein soll.

## Datenmodell

Eine allgemein zugängliche und exakte Beschreibung von logischem Datenmodell und physischem Datenformat ist in der Dokumentation der Adobe Acrobat SDK enthalten.

Das Datenmodell unterstützt die Abbildung von Produktstrukturen, 3D-Daten und Markup.

Eine Produktstruktur besteht aus Baugruppen und Einzelteilen, ihre Abbildung im PRC erfolgt über die Entitäten ASM_ModelFile, ASM_ProductOccurrence und ASM_Part Definition. Ihre Positionierung im Raum erfolgt mittels allgemeiner oder kartesischer Transformationen.

Einzelteile enthalten Verweise auf die 3D-Daten (RI_RepresentationItem). Diese können sowohl als tesseliertes Polygonnetz als auch als exakte Brep-Geometrie vorliegen.

Der Bereich Markup definiert Annotationen (MKP_AnnotationSet, MKP_AnnotationItem) und Views (MKP_View). Annotationen stellen zusätzliche fertigungsrelevante Informationen, wie Bemaßungen und Beschriftungen zur Verfügung, die oft unter dem Oberbegriff Product Manufacturing Information (PMI) zusammengefasst werden.

Views sind für die Steuerung der Position und Sichtbarkeit von Annotationen, Baugruppen und Einzelteilen zuständig. Damit erreicht man zum Beispiel die Darstellung von Explosionszeichnungen oder Schnittansichten.

## Datenformat

Die Speicherung von PRC-Daten erfolgt binär. Eine PRC-Datei beginnt mit den drei Zeichen PRC. Dann folgt das serialisierte Datenmodell aufgeteilt in eine oder mehrere File Structures, die wiederum auf den Teilen Header, Globals, Tree, Tessellation und Geometry bestehen. Durch diese Aufteilung ist es möglich, PRC-Reader zu implementieren, die nur einen Teil des Datenmodells behandeln, also zum Beispiel nur tesselierte Daten lesen und die exakte Geometrie ignorieren.

Die Serialisierung des Datenmodells in eine Datei erfolgt unter anderem mit dem Ziel einer minimalen Dateigröße. Dazu dienen verschiedene Verfahren, wie die Definition variabler Längen für Ganzzahlen (bit-by-bit writing), die Verwendung einer Lookup-Tabelle für oft benutzte Gleitkommazahlen sowie der Einsatz des Datenkompressionsverfahren Gzip.

PRC-Daten liegen selten als eigenständige Datei vor. Meistens sind die Daten als binärer Datenstrom (COSStream mit dem Namen 3DD) in eine 3D-PDF-Datei eingebettet. Der Adobe Reader ist ab Version 9 in der Lage, den PRC-Datenstrom mittels seines eingebauten, interaktiven 3D-Viewers anzuzeigen.

## Standardisierung

Die Internationale Organisation für Normung (ISO) hat 2015 das PRC-Datenformat als Industriestandard normiert.

