程序单 JSON 字段参考
本页列出程序单 JSON 中主要对象的字段说明,与机明程序单对外报文含义一致。对接时请忽略未知字段,并以真实推送报文为准。
类型约定
| 源码类型 | JSON 中常见形态 |
|---|---|
| string | 字符串 |
| int / double | 数字 |
| bool | true / false |
| TimeSpan | 字符串,如 00:12:34 |
| List<T> | JSON 数组 |
| EntitySize | 对象:Xmin / Xmax / Ymin / Ymax / Zmin / Zmax |
| HolderOrShank | 对象:UpperDiameter / LowerDiameter / Length |
| byte[] | 多为 Base64 字符串 |
数据结构
SetupsheetData(根)
├── ProjectData
├── PositionDataList[] → PositionData
│ ├── ToolPathList[] → ToolPathData
│ ├── ModelSizeByPosition / BlockSizeByPosition → EntitySize
│ └── ImageBytesList[] / ConfigSetupSheet
└── 根级标量字段SetupsheetData(根对象)
程序单 JSON 的根对象。
| 字段名 | 类型 | 说明 |
|---|---|---|
NcWpName | string | 串联坐标名称 |
ProjectData | ProjectData | 项目数据 |
ThicknessF | double | 精公火花位 |
ThicknessM | double | 中公火花位 |
ThicknessR | double | 粗公火花位 |
NumberF | int | 精公数量 |
NumberM | int | 中公数量 |
NumberR | int | 粗公数量 |
AutoToolChangNcF | string | 精公自动换刀NC名称 |
AutoToolChangNcM | string | 中公自动换刀NC名称 |
AutoToolChangNcR | string | 粗公自动换刀NC名称 |
DetectionSize | string | 电极头检测尺寸 |
ReferencePlaneZval | double | 电极基准面Z值 |
CreatTime | string | 程序单生成时间 |
PieceNumber | string | 工件数量 |
PositionDataList | List<PositionData> | 工位列表 |
CellBarCodeF | string | 精公二维码 |
CellBarCodeM | string | 中公二维码 |
CellBarCodeR | string | 粗公二维码 |
ZType | string | 工件分中Z轴取数方式 |
NcRotate | bool | NC串联工件是否旋转工件 |
NcAngle | double | NC串联工件旋转角度 |
NcMirror | bool | NC串联是否镜像工件 |
NcAxis | int | NC串联镜像工件参考平面,0:YZ平面镜像 1:XZ平面轴镜像 |
ProjectData(项目数据)
项目名称、路径与工时。
| 字段名 | 类型 | 说明 |
|---|---|---|
PDTotalTime | TimeSpan | 不考虑工件数量的项目总时长(一般不使用) |
PDCutTime | TimeSpan | 不考虑工件数量的项目切削移动时长(一般不使用) |
TotalTime | TimeSpan | 项目总时长 |
CutTime | TimeSpan | 项目切削移动时长 |
PDSession | string | 项目路径 |
NcprogramPath | string | NC输出路径 |
Project | string | 项目名称 |
PositionData(工位)
每个工位的名称、尺寸、刀路列表与预览图等。
| 字段名 | 类型 | 说明 |
|---|---|---|
ToolPathList | List<ToolPathData> | 当前工位刀路列表 |
StartBlockMaxZ | double | 当前毛坯最大Z值 |
PositionName | string | 当前工位名称 |
ModelSizeByPosition | EntitySize | 当前工位模型尺寸 |
BlockSizeByPosition | EntitySize | 当前工位毛料尺寸 |
PositionTotalTime | TimeSpan | 工位总时长 |
PositionCutTime | TimeSpan | 工位切削移动时长 |
ImageBytesList | List<byte[]> | 工位视图图片数组,可通过 new System.Drawing.Bitmap((System.Drawing.Image)new System.Drawing.Bitmap( new MemoryStream(Bytes))) 还原图片 |
DatumMark | int | 基准角位置: 0:左上角 1:左下角 2:右上角 3:右下角: |
BlockSizeString | string | 订料尺寸字符串格式,如:25*25*20 |
ConfigSetupSheet | PostConfigSetupSheet | 每个工位中用户在界面上设置的客户名称、机床名称、材质等参数 |
ToolPathData(刀路)
单条刀路的 NC、刀具、转速进给、余量与安全状态等。
| 字段名 | 类型 | 说明 |
|---|---|---|
Ncprogram | string | NC名称 |
Toolpath | string | 刀路名称 |
ToolID | string | 刀具名称 |
ToolType | string | 刀尖类型 |
Dia | double | 刀具直径 |
Tip | double | 刀尖圆角 |
Overhang | double | 刀具伸出长度 |
TPZMin | double | 刀路Z最小值 |
Spindle | double | 旧版本的转速(停用) |
Cut | double | 旧版本的进给(停用) |
Tol | double | 公差 |
Totaltime | TimeSpan | 总时间 |
CutTime | TimeSpan | 切削时间 |
Thickness | double | 径向余量 |
AxialThickness | double | 轴向余量 |
CollChecked | bool | 是否碰撞检测 |
ToolNumber | string | 刀号 |
Description | string | NC描述 |
Len | double | 刃长 |
TaperDiameter | double | 锥度直径 |
TaperAngle | double | 刀具锥度 |
Stepover | double | 行距 |
Stepdown | double | 步距 |
NcprogramNotes | string | NC备注 |
ToolDescription | string | 刀具描述 |
FeedRateRapid | double | 进给 |
THUpper | double | 刀头最大 |
TSUpper | double | 刀柄最大 |
THLower | double | 刀头最小 |
TSLower | double | 刀柄最小 |
WKPLName | string | 刀路坐标 |
HolderName | string | 刀头名称 |
Tool | string | 刀具格式后名称 |
ToolNote | string | 刀具备注 |
Depth | double | 加工深度,模型最高Z值-刀路最小Z值的长度 |
ToolpathNotes | string | 刀路备注 |
ToolHolders | List<HolderOrShank> | 刀头 |
ToolShanks | List<HolderOrShank> | 刀柄 |
NcprogramPath | string | NC路径 |
UpperTip | double | 圆角盘铣刀刀具上圆角 |
ShankName | string | 刀柄名称 |
ExtensionName | string | 加长杆名称 |
ExtensionLength | double | 加长杆长度 |
ShankLength | double | 刀柄长度 |
HolderExtensioShank | string | 刀头加长杆刀柄 |
HolderExtensio | string | 刀头加长杆 |
SafeZ | double | 安全高度 |
CompCode | int | 半径补偿编码 |
RadiusCompNumber_Active | bool | 启用半径补偿 |
RadiusCompNumber_Value | int | 半径补偿号 |
OldHolderName | string | 夹持名称 |
CncCutterCompensationActive | bool | 刀具半径补偿 |
NcFileSize | string | NC文件大小 |
NcWorkplane | string | NC输出坐标系 |
CutLength | double | 切削长度 |
Title | string | 标题 |
ToolLife | double | 刀具寿命 |
TPXmax | double | 刀路X最大值 |
TPXmin | double | 刀路X最小值 |
TPYmax | double | 刀路Y最大值 |
TPYmin | double | 刀路Y最小值 |
TPZmax | double | 刀路Z最大值 |
TPZmin | double | 刀路Z最小值 |
TpSizeList | List<EntitySize> | 刀路尺寸列表 |
GaugeLength | double | 标距长度 |
Strategy | string | 策略类型 |
DrillThickness | double | 钻孔径向余量 |
DrillAxialThickness | double | 钻孔轴向余量 |
TpThickness | double | 径向余量 |
TpAxialThickness | double | 轴向余量 |
DrillDepthType | string | 钻孔深度类型 |
DrillDepthUserDefined | string | 钻孔深度是用户定义 |
SafetyToolCuttingStatus | string | 刀具切削安全状态 |
SafetyToolLeadsStatus | string | 刀具切入切出安全状态 |
SafetyToolLinksStatus | string | 刀具连接安全状态 |
SafetyHolderCuttingStatus | string | 刀头切削安全状态 |
SafetyHolderLeadsStatus | string | 刀头切入切出安全状态 |
SafetyHolderLinksStatus | string | 刀头连接安全状态 |
NcCodeList | List<string> | 串联二维码 |
Rpm | string | 转速 |
Frate | string | 进给 |
DrillType | string | 钻孔循环类型 |
PeckDepth | string | 钻孔啄孔深度 |
NoMerge | bool | 标记为单独刀具、不合并 NC 的瞬态标志 |
补充类型
EntitySize(包围盒)
用于模型尺寸、毛料尺寸、刀路尺寸列表等。
| 字段名 | 类型 | 说明 |
|---|---|---|
Xmin | double | X 最小 |
Xmax | double | X 最大 |
Ymin | double | Y 最小 |
Ymax | double | Y 最大 |
Zmin | double | Z 最小 |
Zmax | double | Z 最大 |
HolderOrShank(刀头 / 刀柄几何)
| 字段名 | 类型 | 说明 |
|---|---|---|
UpperDiameter | double | 上直径 |
LowerDiameter | double | 下直径 |
Length | double | 长度 |
ToolPathData.NcWpName语义与根对象「串联坐标名称」相同。ConfigSetupSheet为界面配置快照,字段较多,不需要时可整体忽略。