component
XL-1606UYC
Public Made by Adomby adom
XINGLIGHT LED Indication - Discrete, SMD,1.7x1.1mm. KiCad symbol, footprint and 3D as used on Adom boards.
main
#!/bin/bash
# Rebuild the XL-1606 side-view LED models (Adom, 2026-10-28). Needs cadquery 2.8, step2glb 0.13.2, curl.
set -e
python3 build_xl1606.py xl1606-mounted.step # mounted pose, all five MPNs share the geometry
python3 -c "import importlib.util,cadquery as cq;s=importlib.util.spec_from_file_location('b','build_xl1606.py');b=importlib.util.module_from_spec(s);s.loader.exec_module(b);a=cq.Assembly(name='proxy');[a.add(b.mounted(w),name=n,color=cq.Color(*c)) for n,(w,c) in b.build().items() if n!='lens'];a.export('proxy-nolens.step')"
for V in SURC UBC UGC UOC UYC; do
# adom-chip-laser 0.2.0 inlay (the mark alone), computed without the lens so it lands on the white base wall
curl -s -X POST "https://laserchip-6dn1tl7vjz5u.adom.cloud/inlay?mpn=XL-1606$V&surface=top" --data-binary @proxy-nolens.step -o inlay-$V.step
v=$(echo $V | tr A-Z a-z); mkdir -p xl-1606$v
python3 assemble_xl1606.py XL-1606$V inlay-$V.step xl-1606$v
for f in xl-1606$v xl-1606$v-etched; do
step2glb convert xl-1606$v/$f.step -o xl-1606$v/raw-$f.glb
python3 glbmat.py xl-1606$v/raw-$f.glb xl-1606$v/$f.glb "0.89,0.89,0.848=0.0,0.5,Adom.Body (white substrate)" \
"0.711,0.711,0.674=1.0,0.35,Adom.Leads (matte tin)" "0.711,0.848,0.911=0.0,0.1,Adom.Lens (water-clear epoxy),0.45" \
"0.004,0.342,0.033=0.0,0.6,Adom.CathodeMark"
done
done