Polygon PLY (.ply)
Stanford StandaardPolygon File Format (PLY, ook bekend als Stanford Triangle Format) is een uitbreidbaar 3D-formaat dat Greg Turk aan Stanford University ontwikkelde. Het wordt gebruikt in sommige workflows voor scannen, fotogrammetrie en puntenwolken.
PLY naar OBJ converteren
Gratis PLY-naar-OBJ-converter in uw browser. Converteer bestanden direct op uw apparaat.
Inspecteren en metadata
Besturingssystemen en bestandsanalysators herkennen PLY-bestanden aan de hand van de eerste binaire bytesequentie:
Bestandshandtekening op byteniveau (magic bytes)
Besturingssystemen en bestandsanalysators herkennen PLY-bestanden aan de hand van de eerste binaire bytesequentie:
HEX-HANDTEKENING (OFFSET 0):
70 6C 79 0AASCII-WEERGAVE: ply\n
Standaardisatie: Stanford University Computer Graphics Laboratory Standard
Technische specificaties
| Containerarchitectuur | ASCII- of binaire header die uitbreidbare elementen en eigenschappen definieert, gevolgd door ruwe hoekpunt- en vlakgegevensarrays |
| Compressie | Ongecomprimeerde gestructureerde binaire gegevens of ASCII-tekst |
| Bytevolgorde (endianness) | Gedefinieerd in header: 'format binary_little_endian 1.0', 'format binary_big_endian 1.0' of 'format ascii 1.0' |
| Kleurruimten | RGB/RGBA-kleuren per hoekpunt, Betrouwbaarheidsscalars, Oppervlaknormalen |
| Kanalen en structuur | Hoekpunten, veelhoekige vlakken, puntenwolken, kleuren per hoekpunt, normalen en willekeurige aangepaste sensoreigenschappen |
| Maximale afmetingen | Onbegrensde 3D-coördinatenruimte en onbeperkt aantal hoekpunten |
| Transparantie | Alfakanaal per hoekpunt ondersteund via 'alpha'-eigenschap |
| Streaming en progressief | Header specificeert exacte elementaantallen, waardoor onmiddellijke voorafgaande toewijzing en snel sequentieel lezen mogelijk zijn |
Technische vergelijkingsmatrix: PLY versus concurrenten
| Technisch kenmerk | PLY (Huidig) | OBJ | STL | XYZ |
|---|---|---|---|---|
| Kleur per hoekpunt | Ingebouwde RGB/RGBA-kleuren per hoekpunt | Vereist materiaaltexturen | Geen (alleen geometrie) | Ruwe coördinatenscalars |
| Uitbreidbare eigenschappen | Willekeurige aangepaste eigenschappen in header | Vaste tagsyntax | Vaste driehoeksyntax | Vaste coördinatenkolommen |
| Puntenwolkondersteuning | Ingebouwde, snelle ondersteuning voor puntenwolken | Omslachtig (vereist vlakken met één hoekpunt) | Geen (vereist gesloten driehoeken) | Ingebouwde ruwe puntcoördinaten |
| Gaussian Splatting | Een van de formaten voor Gaussian Splatting-gegevens | Niet ondersteund | Niet ondersteund | Niet ondersteund |
Veelvoorkomende beschadigingen en gids voor hex-herstel
Software meldt 'PLY: End of file reached before all elements read'.
Oorzaak: Verschil tussen het gedeclareerde elementaantal in de header en het fysieke aantal binaire gegevensrijen.
Herstel: Herbereken de elementaantallen in de header met de PLY Repair Tool van File2File.app.
Beveiligingsanalyse en aanvalsvectoren voor parsers
PLY-decoders verwerken headerdeclaraties die eigenschapsgroottes definiëren. Integer-overflow kan daarbij heapcorruptie veroorzaken.
Bekende aanvalsvectoren
- Integer-overflow tijdens geheugentoewijzing van property_count * element_count.
- Bufferoverread bij het lezen van onjuist gevormde binaire eigenschapstypen (bijv. float64 gelezen in float32-buffer).
- Denial-of-service door overmatige geheugentoewijzing als gevolg van vervalste elementaantallen.
Aanbevolen beveiligingspraktijken: Controleer of het aantal bytes van de gedeclareerde elementen overeenkomt met de fysieke bestandsgrootte voordat u geheugen toewijst.
Historische oorsprong en mijlpalen
Belangrijkste voordelen
- Zeer uitbreidbaar: gebruikers kunnen willekeurige aangepaste eigenschappen definiëren (kleur per hoekpunt, betrouwbaarheid, kromming, temperatuur).
- Ondersteunt zowel ultracompacte binaire formaten als menselijk leesbare ASCII-formaten, in zowel big-endian- als little-endian-bytevolgorde.
- PLY kan hoekpunten, vlakken en optionele kleur- of normaalvelden opslaan. Scan- en fotogrammetrietools gebruiken het daarom voor puntenwolken en meshes. Controleer of het programma dat het bestand ontvangt de velden kan lezen die erin staan.
Technische beperkingen
- Beperkte ondersteuning in 3D-game-engines voor consumenten, vergeleken met glTF of FBX, tenzij er gespecialiseerde plug-ins voor puntenwolken worden gebruikt.
- Geen native ondersteuning voor skeletopbouw, botgewichten of karakteranimatiehiërarchieën.
- Mist standaard PBR-materiaaldefinities (vertrouwt voornamelijk op kleuring per hoekpunt of eenvoudige diffuse texturen).
Interessante technische weetjes
- Elk geldig PLY-bestand moet beginnen met de exacte 4 tekens 'ply\n' op regel 1.
- Het beroemde Stanford Bunny is in 1994 gemaakt door een keramisch konijn te scannen met een Cyberware 3030-laserscanner, oorspronkelijk opgeslagen in PLY-formaat.
- Het Gaussian Splatting-artikel uit 2023 gebruikte puntenwolken met sferische harmonischen; PLY is een formaat dat wordt gebruikt om dergelijke gegevens op te slaan.
Veelgestelde technische vragen
Waar wordt het PLY-formaat tegenwoordig voor gebruikt?
PLY wordt veel gebruikt voor 3D Gaussian Splatting, 3D-laserscanning, digitale conservering van archeologische vondsten, fotogrammetrie en LiDAR-puntenwolken.
Wat is het verschil tussen ASCII- en binaire PLY?
ASCII PLY slaat waarden voor hoekpunten en vlakken op als leesbare getallen, terwijl binaire PLY ze als bytes opslaat. Binaire bestanden zijn meestal compacter; ASCII is eenvoudiger te bekijken in een teksteditor.
Hoe kan ik een PLY-bestand converteren naar OBJ of STL?
Open uw PLY-bestand in File2File.app om het direct in uw webbrowser om te zetten in een standaard OBJ-model of een 3D-printbare STL-mesh.