Che cos'è il formato di file PLY?
.ply è un formato di file per immagini 3D. Lo standard .ply (Polygon File Format o Stanford Triangle Format) è stato sviluppato presso la Stanford University da Greg Turk nei primi anni '90. È stato creato come mezzo per memorizzare semplici dati 3D raccolti tramite dispositivi di scansione 3D.
Un file .ply memorizza gli oggetti come un elenco di vertici e poligoni piatti che possono avere le seguenti proprietà definite:
- Colore e trasparenza,
- Descrizione delle normali di superficie,
- Coordinate spaziali.
Esistono due versioni del formato .ply. La versione testuale contiene informazioni che descrivono tutti gli oggetti in un'immagine 3D in un formato leggibile dall'uomo. La versione binaria memorizza gli stessi dati in codifica binaria grezza (little-endian o big-endian), producendo file più piccoli e tempi di caricamento più rapidi. In entrambe le versioni l'intestazione inizia sempre con la parola magica ASCII ply e termina con end_header.
I formati comuni per la geometria 3D includono .OBJ, .STL (popolare nella stampa 3D) e .GLB per le scene glTF.
Sicurezza e incolumità
RISCHIO: LOWIl formato PLY contiene dati 3D passivi (vertici, facce e proprietà, non codice eseguibile), quindi aprirne uno è sicuro. Le uniche precauzioni pratiche non riguardano i malware: i file PLY da scansione possono essere molto grandi (decine di milioni di punti) e lenti da aprire, e un file malformato o enorme può stressare il visualizzatore. Scarica gli strumenti (MeshLab, Blender, CloudCompare) dai siti ufficiali per evitare adware inclusi in pagine che imitano visualizzatori 3D gratuiti.
Dettagli del formato
in sintesi- Sotto-file di progetto 3MF/Bambu/Prusa (non comune) - Alcune pipeline 3D memorizzano dump di punti o mesh con estensione .ply; si tratta sempre dello stesso formato Polygon, solo prodotto da scanner o slicer.
- Dati Harvard Graphics / Stanford GraphBase (legacy, raro) - Una manciata di vecchi programmi utilizzava .ply per dati di grafici o diagrammi non correlati; di fatto obsoleto e non è ciò che incontrano gli utenti moderni.
Programmi che aprono file PLY
Dettagli tecnici
specifiche approfondite| Varianti di codifica | Testo ASCII (`format ascii 1.0`), binario little-endian (`format binary_little_endian 1.0`) o binario big-endian (`format binary_big_endian 1.0`) |
| Magic bytes / firma del file | Ogni file `.ply` inizia con la stringa ASCII `ply` su una riga a sé stante, indipendentemente dal fatto che il corpo sia testuale o binario |
| Struttura dell'intestazione | Sempre in testo ASCII semplice, presente sia nei file ASCII che in quelli binari; le definizioni di elementi e proprietà appaiono tra `ply` e la riga di chiusura `end_header` |
| Tipo MIME | `model/ply` |
| Elementi primari | Vertici (`vertex`) e facce poligonali (`face`); sono supportati anche spigoli ed elementi personalizzati arbitrari |
| Sistema di proprietà | Ogni elemento trasporta proprietà scalari o liste con nomi arbitrari, ad es. `x`, `y`, `z`, `nx`, `ny`, `nz`, `red`, `green`, `blue`, `alpha` |
| Tipi scalari supportati | `char`, `uchar`, `short`, `ushort`, `int`, `uint`, `float`, `double` |
| Endianness binaria | Sono supportati sia little-endian che big-endian; la riga `format` nell'intestazione specifica quale sia in uso |
| Compattezza binaria | La variante binaria impacchetta i valori scalari grezzi senza strati di compressione, risultando tipicamente 3-4 volte più piccola e veloce da analizzare rispetto alla variante ASCII |
| Supporto colore | RGBA per vertice o per faccia memorizzato come proprietà denominate `red`, `green`, `blue`, `alpha` (tipicamente `uchar`, 0-255) |
| Normali di superficie | Normali per vertice o per faccia memorizzate come proprietà `float` denominate `nx`, `ny`, `nz` |
| Dati nuvola di punti | Un file con soli vertici e senza elenco di facce è un `.ply` valido - ampiamente utilizzato per memorizzare nuvole di punti da scansioni 3D grezze |
| Estensibilità | Proprietà personalizzate possono essere aggiunte a qualsiasi elemento; i lettori conformi saltano le proprietà sconosciute, garantendo la compatibilità futura |
| Codifica degli indici delle facce | Gli indici dei vertici delle facce usano un tipo `list uchar int`: un conteggio di byte seguito da quel numero di indici di vertice interi |
| Rilasciato | early-mid 1990s (Stanford University) |
| Standard aperto | Sì · royalty-free |
| Specifica | paulbourke.net |
Conversioni PLY
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file PLY.