Adom Chip Laser
Public Made by Adomby adom
Laser-etch a component's MPN into its CAD at the STEP layer — so the downloadable STEP, a Fusion import, and the 3D model all carry the part number on the die. A callable HTTP service; output is a STEP file.
Install?
Laser-etch a component's MPN into its CAD at the STEP layer — a callable HTTP service with STEP output, so the download, the Fusion import, and the 3D model all carry the part number on the die.
adom-wiki pkg install adom/adom-chip-laser
Latest: v0.2.0, published
Contents
README
markdownAdom Chip Laser
Laser-etch a component's MPN into its CAD at the STEP layer — so the downloadable STEP, a Fusion 360 import, and the derived 3D model all carry the part number on the die. Not a viewer-only texture: it's real geometry in the STEP.
Why STEP-layer: Fusion imports a library via the STEP, not a GLB. And a laser
mark on black epoxy is a color change, not a groove, so the mark is a flat
light sheet just off the face, in its own Adom.LaserEtch part you can hide.
Call it (HTTP service)
Since 0.2.0 the service hands the STEP to service-occt /laser-etch, the same etch the
component pages use: the part comes back untouched, every colour kept, with the mark as its own
Adom.LaserEtch part, a flat light (or dark) sheet 5 µm off the face. The 0.1.0 CadQuery path
(recess + grey inlay, part repainted) is still there as engine=legacy.
curl -X POST "https://laserchip-6dn1tl7vjz5u.adom.cloud/etch?mpn=STM32F103C8T6" \
--data-binary @chip.step -o etched.step
mpn(required): the part number to etch.surface=auto|top|side|side:-y|side:+y|side:-x|side:+x(defaultauto):automarks an LED, or a part whose top is busy (2+ openings in the top face and recessed faces covering 15 %+ of the footprint: ToF windows, lenses), on the side wall that fits the largest text; everything else on top.style=flat|recessed(default flat),color=auto|light|dark(default auto: contrasts with the marked face),fit=adom|compact,rot=0|90|180|270,pin1_xy=x,y,upright=auto|off,busy_top=on|off.fracis accepted and ignored (legacy only).- A Y-up model (a vendor can lying along Y) is stood up for the fit; the mark is put back in the model's own frame.
- Response is
application/step. Headers:X-Etch-Fontsize-Mm,X-Etch-Face,X-Etch-Face-Reason(why auto chose it),X-Etch-Stood-Up,X-Etch-Job(the service-occt job, whose/jobs/<id>has the full fit report). A part the text cannot fit is a 422 with the reason. POST /inlay?mpn=…: the mark alone, as its own STEP, to merge onto a published GLB.GET /health→{"ok":true,"version":"…","engine":"service-occt"}.
No cadquery needed on your end — any Adom app can call the service.
Marking checklist (read before you etch)
Since 0.2.0 /etch keeps the part's own colours, runs the mark along the long axis of the top
face, stands Y-up models up and marks a busy top on a side. It does not know the part's end caps or
the page's standard pose, and it reads from pin 1 only when it finds a pin-1 dot (or gets pin1_xy
/ rot). For a component model, use the planner that wraps the shared STEP service:
adom-aiflow-etch --in part.step --mpn <MPN> --out part-etched.step --footprint part.kicad_mod
adom-aiflow-etch check part-etched.step # must say PASS; look at part-etched.check.png
(adom-aiflow-etch ships with adom/adom-aiflow 0.1.48+: plain python3, nothing to install.)
The rule it enforces:
- Along the longest usable dimension of the marking face: chip R/C/L along the body, in the band between the metal end caps; ICs parallel to the pin rows (a SOT-23-6 along its 2.9 mm length); side-marked LEDs along the long side wall, window clear.
- As large as fits: the band minus 10 to 15 % margins each side, one line; two lines only when that makes the text larger.
- Upright, left to right, in the standard pose: pin 1 / pad 1 lower left seen from the top (two-terminal: pad 1 on the left; polarised parts follow pin 1 / cathode). The iso outline then shows pin 1 toward the viewer and the text reads without tilting your head.
- Flat light mark, coplanar with the face, in
Adom.Chip/Adom.LaserEtch; never raised or recessed lettering. - The chip outline's name is the same mark: same face, direction and place
(
adom-aiflow-etch outline part.step --etched part-etched.step --footprint part.kicad_mod). - Look at the result at widget size before you report (the gate reports the cap height in
pixels at 320 px and prints
Hint:lines saying what to rerun when it fails).
Use /etch directly for a quick mark, or when the planner's footprint inputs are not at hand.
Client CLI (installed by this package)
adom-chip-laser etch <chip.step> <MPN> [out.step] [key=value ...] # the part + its mark
adom-chip-laser inlay <chip.step> <MPN> [out.step] [key=value ...] # the mark alone
adom-chip-laser etch vl53l7cx.step VL53L7CX out.step surface=side:-y color=light
adom-chip-laser health | url | version
key=value arguments go on the query (surface, style, color, fit, rot, pin1_xy,
upright, busy_top); the client prints the face, the reason and the font size. Override the
service with ADOM_CHIP_LASER_URL.
The source repo adom-inc/adom-chip-laser also has a Python board command (etched chip GLB +
animated board GLB); it still uses the legacy CadQuery etch.
What you get
- A downloadable STEP whose die carries the MPN — survives into Fusion.
- A 3D model with the mark and a toggleable
laser_etchlayer. - Auto-fit along the long axis, as large as fits, MPN-only; every colour of the source kept.
First live on the component page adom/stm32f103c8t6.
Source: adom-inc/adom-chip-laser · MIT.