Qt based 3D, 2D and profile viewer for ISO 25178-71 Surface Data Files (.sdf) and ISO 25178-72
x3p files (.x3p), built on sdfio,
x3pio and PySide6.
- Opens ISO 25178-71 SDF and ISO 25178-72 x3p files.
- 3D, 2D and profile views, and a selector for the layers of an x3p file.
- Selectable, reversible colormaps with a color bar; non-measured points are left empty.
- Shows and exports the metadata; vendor extensions of x3p files can be saved.
- Saves files, or the shown profile, as SDF or x3p, with conversion between the formats.
- Screenshots as PNG file or on the clipboard.
Try it with the sample samples/microlens-array.sdf.
Windows (PowerShell):
python -m venv .venv
.venv\Scripts\Activate.ps1
pip install .
sdflensLinux and macOS:
python3 -m venv .venv
source .venv/bin/activate
pip install .
sdflenspython -m sdflens starts the viewer as well.
With the virtual environment activated and the .NET SDK
installed, this builds a standalone app and the WiX installer
build\installer\sdflens-<version>-<arch>.msi, next to a CycloneDX SBOM of the
runtime dependencies, build\installer\sdflens-<version>-<arch>.cdx.json, with <arch> being x64 or arm64:
.\packaging\build_windows.ps1The build installs exactly the package versions listed in pylock.build.toml. The uv command that updates them is at the top of packaging\build_windows.ps1.
On Linux, this builds a standalone app and, if appimagetool
is in the PATH or named by APPIMAGETOOL, the AppImage build/appimage/sdflens-<version>-<arch>.AppImage:
./packaging/build_linux.shBuild it on the oldest distribution that should run it, since an AppImage needs the glibc of the
system it was built on or newer. The workflow in .github/workflows/build.yml does that for the
releases.
