之前分享了从Excel粘贴到多重结构编辑器的方法,但用着用着发现不够用了。
最近在官网上刷到了MCON和SETMCOPERAND这两个ZPL命令,终于能直接读写多重结构编辑器了,分享一下:
📖 MCON:读取数据
value = MCON(row, config, data)
1️⃣ 获取整体信息
· n_operand = MCON(0,0,0) — 操作数总数
· n_config = MCON(0,0,1) — 结构数量
· active = MCON(0,0,2) — 当前激活的结构是哪个
写通用脚本时特别好用,自动判断有多少个结构。
2️⃣ 读取操作数定义(config=0)
· type = MCON(1,0,0) — 类型(如THIC/CURV)
· int1/int2/int3 = MCON(1,0,1~3) — 关联的面或波长
· flag = MCON(1,0,4) — 是否为字符串
3️⃣ 读取具体数值(最常用)
val = MCON(3, 2, 0) — 第3行、第2个结构的值
⚠️ 读字符串记得用$buffer():
```
dummy = MCON(1, 2, 0)
name$ = $buffer()
```
✍️ SETMCOPERAND:写入数据
SETMCOPERAND row, config, value, datatype
1️⃣ 定义操作数类型
SETMCOPERAND 1, 0, "THIC", 0 — 第1行设为THIC
2️⃣ 写入数值
SETMCOPERAND 3, 2, 5.0, 0 — 第3行第2个结构=5mm
3️⃣ 控制状态(datatype=3)
· 0: fixed / 1: variable / 2: pickup / 3: thermal pickup
4️⃣ 设置pickup(datatype=4)
```
SETMCOPERAND 3, 2, 1, 4 ! pickup结构
SETMCOPERAND 3, 2, 2, 5 ! pickup行
```
💡 举个例子🌰
批量读取所有结构的厚度:
```
n_cfg = MCON(0,0,1)
FOR i, 1, n_cfg, 1
val = MCON(3,i,0)
name$ = $buffer()
PRINT i, name$
NEXT
```
批量统一加0.1mm:
```
n_cfg = MCON(0,0,1)
FOR i, 1, n_cfg, 1
val = MCON(3,i,0)
name$ = $buffer()
valnew=name$+0.1
SETMCOPERAND 3, i, valnew, 0
NEXT
UPDATE
```
赶紧试试,有问题随时交流~
关注我,点星星可以看到我的最新更新哦🔥🔥🔥