An attempt to read unencrypted 3Shape DCM.
The project will be written in C++ with the first goal to make a cli command that can convert a DCM file into STL, OBJ or PLY files. Then as an extension a python binding can be build.
- Read an extract the mesh(es) geometrical information (vertices coordinates and triangles) from DCM
- Convert to STL, PLY, OBJ
- Read colors applied on meshes
- Read UV mapping and Texture
- Read extra curves
- Write DCMs
- Read encrypted file
Run the following from the repository root:
cmake -DCMAKE_BUILD_TYPE=Release --preset ninja-release-vcpkg -S . -B ./builds/ninja-release-vcpkg
cmake --build ./builds/ninja-release-vcpkg
DCM can be read with a text editor. It is a xml file. The internal file is called HPS. The leaves of the XML contain binary data that is encoded in base64. Thus vertices coordinates and triangles are encoded in base64.
<HPS version="1.0">
<Packed_geometry>
<Schema>CE</Schema>
<Binary_data>
<CE version="1.0">
<Vertices vertex_count="376" base64_encoded_bytes="4512" check_value="330137282">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</Vertices>
<Facets facet_count="748" base64_encoded_bytes="778" color="8421504">BAAAAAAAAAAAAAEAAAIAAAIAAAAAAgAAAAIAAAACAAECAAAAAgIAAAACAgAAAAAAAAICAAABAAICAAAAAAICAAECAgAAAQAAAQIAAAAAAgICAAAAAAAAAQACAgAAAAEAAgICAAAAAAACAgIAAQIAAQAAAAACAgIAAAAAAAICAgIAAAAAAAABAAAAAgICAAAAAQACAgICAAAAAAAAAgICAgABAgICAAABAAACAgIAAAAAAAACAgICAgAAAAAAAAABAAAAAgIAAQAAAAEAAgICAgIAAAAAAAAAAgICAgIAAQICAgAAAQAAAQICAgAAAAAAAAACAgICAgIAAAAAAAAAAAEAAAACAgABAAAAAQACAgICAgIAAAABAAAAAAICAgICAgABAgICAAABAQAAAgICAAAAAAAAAAACAgICAgIAAAAAAAAAAAABAAAAAAEAAQIAAAABAAICAgICAgIAAAAAAQAAAAICAgICAgIAAQICAgABAgABAAIAAQIAAAAAAAAAAAACAgICAgIAAAEAAAAAAAAAAQEAAAABAAIAAgIAAgICAgICAgIAAAEAAQAAAQABAgICAgICAAEAAQIAAQIAAAAH6wAAAAEBCQAAAAAAAAAAAQACAgICAAAAAQAAAAAAAAIAAAAAAQECAgACAgICAgICAgABAAAAAQABAAECAgICAgICBwoBAAABCQICAAEAAAEAAgAAAAAAAAEAAAACAgIAAAAAAQAAAAAAAAEAAAICAgACAgICAgICAgIAAQABAQIAAQICAgICAgICAgABAAEAAgAAAAAAAQAAAAIAAQAAAAEAAAAAAAEAAAICAAICAgICAgABAgc9AQAAAQkAAQICAgICAgICAgABAQACAAAAAAAAAAECAAAAAQAAAAABAAACAAICAgICAgABAAEBAgICAgICAgICAAIAAAACAAABAAAAAQAAAAEAAgACAgICAQABAgIAAQICAgICAAIAAgdxAQAAAAEAAQIAAAECAAICCQd2AQAAAQIHdAEAAAEJAgIAAgkBAQEBAQ==</Facets>
</CE>
</Binary_data>
</Packed_geometry>
<FacetMarks>QAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAA==</FacetMarks>
<Annotations/>
<Objects/>
<Splines/>
<Properties>
<Property name="EKID" value="1"/>
</Properties>
</HPS>
A documentation of the HPS (Himsa Packed Scan) format can be found here
Vertices are in float format (4 bytes per coordinates) thus 12 bytes per vertex.
- https://dcm2stl.appspot.com/ : A web service that can convert DCM to STL