evo-stl-binary-parser
SkillFiles & storageParses binary STL files using Python's struct module, extracting triangle vertices, normals, and the 2-byte attribute byte count (used as Material ID). Provides filtering by Material ID and density table parsing.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the evo-stl-binary-parser skill
What this skill tells your AI
The instructions your AI receives, as published by openlair/openskill in tasks-evolved/3d-scan-calc/environment/skills/evo-stl-binary-parser/SKILL.md and read by ahel’s review.
Parses binary STL files and material density tables.
Key Functions
parse_binary_stl(filepath)- Parse binary STL, returns list of (v1, v2, v3, material_id) tuplesparse_material_density_table(filepath)- Parse markdown density table, returns {id: density} dictfilter_facets_by_material_id(triangles, material_id)- Filter triangles by materialdetect_material_id(triangles)- Find dominant material ID (excluding debris ID=1)lookup_density(material_id, density_table=None)- Look up density from table
Usage
import sys
sys.path.insert(0, '/app/environment/skills/evo-stl-binary-parser/scripts')
from utils import parse_binary_stl, parse_material_density_table, lookup_density
triangles = parse_binary_stl('/root/scan_data.stl')
density_table = parse_material_density_table('/root/material_density_table.md')
Binary STL Layout
- 80 bytes header, 4 bytes uint32 count, N x 50-byte facet records
- Each facet: 12 bytes normal + 36 bytes vertices + 2 bytes attribute (Material ID)
- Format string: '<12fH' (little-endian)
- data[3:6]=v1, data[6:9]=v2, data[9:12]=v3, data[12]=attribute
Signals
- GitHub stars
- 91
- Forks
- 4
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
evo-stl-binary-parser- Source
- github.com/openlair/openskill